Título: problemilla con $_GET [solucionado]
Publicado por: soru13 en 3 Marzo 2011, 20:37 pm
hola,tengo el siguiente código ya que estoy intentando editar los registros de mi base de datos pero no lo consigo: editar_pelicula.php<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Documento sin título</title> <style type="text/css"> <!-- body { background-color: #9FE0FF; } --> </style></head> <body><? include("config.php"); $id=$_GET['id']; $link=Conectarse(); $result=mysql_query("select * from pelis WHERE id=$id",$link); $id2 = $row["id"]; $nombre = $row["nombre"]; $embed = $row["embed"]; $imagen = $row["imagen"]; $duracion = $row["duracion"]; $descripcion = $row["descripcion"]; $descarga = $row["descarga"]; } ?> <table width="40%" border="0" align="center"> <tr> <td align="center"><p><b>Editar película</b><br></td> </tr> <tr> <td align="center"><form id="form1" name="form1" method="request" action="1.php?id=<? echo $id2; ?>"> <p> <label> Nombre: <input name="nombre" type="text" id="textfield" value="<? echo $nombre; ?>" size="50" /> </label> </p> <p>Embed: <br> <textarea name="embed" cols="40" rows="8" id="textfield2"><? echo $embed; ?></textarea> </p> <p>Imagen: <input name="imagen" type="text" id="textfield3" size="50" value="<? echo $imagen; ?>" /> </p> <p>Duración: <input name="duracion" type="text" id="textfield4" size="50" value="<? echo $duracion; ?>" /> </p> <p>Descripción:<br> <textarea name="descripcion" cols="40" rows="8" id="textfield5"><? echo $descripcion; ?></textarea> </p> <p>Descarga:<br> <label> <textarea name="descarga" cols="40" rows="8" id="textfield6"><? echo $descarga; ?></textarea> </label> </p> <p> <label> <input type="submit" name="button" id="button" value="Editar" /> </label> </p> <p> </p> </form></td> </tr> </table> </body> </html>
1.php<?php $id = $_GET["id"]; $nombre = $_REQUEST["nombre"]; $embed = $_REQUEST["embed"]; $imagen = $_REQUEST["imagen"]; $duracion = $_REQUEST["duracion"]; $descripcion = $_REQUEST["descripcion"]; $descarga = $_REQUEST["descarga"]; if (!$con) { } mysql_query("UPDATE pelis SET nombre = '$nombre', embed = '$embed', imagen = '$imagen', duracion = '$duracion', descripcion = '$descripcion', descarga = '$descarga' WHERE id = '$id'"); ?>
el caso es que me da error cuando me lleva a 1.php Notice: Undefined index: id in C:\xampp\htdocs\editar_spraycine\1.php on line 2
como bien dice la direccion me devuelve todos los parametros menos el id y sin esta no sabe que registro editar http://localhost/editar/1.php?nombre=10+Minutes+aaaa&embed=embed&imagen=http%3A%2F%2Fwww.web.com%2Fimages%2F10min.jpg&duracion=68+minutos&descripcion=desc&button=Editar
el caso es que he revisado el código y no se porque no aparece,aver si me podeis ayudar, gracias de antemano. Un saludo!
Título: Re: problemilla con $_GET
Publicado por: .mokk. en 3 Marzo 2011, 21:32 pm
Donde esta lo de form, mira esto method="request" , no deberia ser method="POST" ? y ya en el 1.php en el id seria POST y no GET
Título: Re: problemilla con $_GET
Publicado por: soru13 en 3 Marzo 2011, 22:49 pm
si hago lo que me dices no devuelve las variables atraves de la url,queda esto: http://localhost/editar/1.php?id=2
y el mismo error: Notice: Undefined index: id in C:\xampp\htdocs\editar\1.php on line 2
Título: Re: problemilla con $_GET
Publicado por: Shell Root en 3 Marzo 2011, 23:13 pm
Entonces cambiale el $_REQUEST por el $_GET
Título: Re: problemilla con $_GET
Publicado por: soru13 en 3 Marzo 2011, 23:23 pm
le puse GET al formulario y estamos en las mismas que en el primer mensaje: Notice: Undefined index: id in C:\xampp\htdocs\editar\1.php on line 2
y falta el ?id= en la url que me devuelve http://localhost/editar/1.php?nombre=10+Minutes+aaaa&embed=embed&imagen=http%3A%2F%2F...
Título: Re: problemilla con $_GET
Publicado por: Feedeex en 3 Marzo 2011, 23:54 pm
Proba asi: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Documento sin título</title> <style type="text/css"> <!-- body { background-color: #9FE0FF; } --> </style></head> <body><? include("config.php"); $id=$_GET['id']; $link=Conectarse(); $result=mysql_query("select * from pelis WHERE id=$id",$link); while($row = mysql_fetch_array($result)) { $id2 = $row["id"]; $nombre = $row["nombre"]; $embed = $row["embed"]; $imagen = $row["imagen"]; $duracion = $row["duracion"]; $descripcion = $row["descripcion"]; $descarga = $row["descarga"]; } mysql_free_result($result); mysql_close($link); ?> <table width="40%" border="0" align="center"> <tr> <td align="center"><p><b>Editar película</b><br></td> </tr> <tr> <td align="center"><form id="form1" name="form1" method="POST" action="1.php?id=<? echo $id2; ?>"> <p> <label> Nombre: <input name="nombre" type="text" id="textfield" value="<? echo $nombre; ?>" size="50" /> </label> </p> <p>Embed: <br> <textarea name="embed" cols="40" rows="8" id="textfield2"><? echo $embed; ?></textarea> </p> <p>Imagen: <input name="imagen" type="text" id="textfield3" size="50" value="<? echo $imagen; ?>" /> </p> <p>Duración: <input name="duracion" type="text" id="textfield4" size="50" value="<? echo $duracion; ?>" /> </p> <p>Descripción:<br> <textarea name="descripcion" cols="40" rows="8" id="textfield5"><? echo $descripcion; ?></textarea> </p> <p>Descarga:<br> <label> <textarea name="descarga" cols="40" rows="8" id="textfield6"><? echo $descarga; ?></textarea> </label> </p> <p> <label> <input type="submit" name="button" id="button" value="Editar" /> </label> </p> <p> </p> </form></td> </tr> </table> </body> </html> <?php $id = $_GET['id']; $nombre = $_POST["nombre"]; $embed = $_POST["embed"]; $imagen = $_POST["imagen"]; $duracion = $_POST["duracion"]; $descripcion = $_POST["descripcion"]; $descarga = $_POST["descarga"]; $con = mysql_connect("localhost","root",""); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("pruebas", $con); mysql_query("UPDATE pelis SET nombre = '$nombre', embed = '$embed', imagen = '$imagen', duracion = '$duracion', descripcion = '$descripcion', descarga = '$descarga' WHERE id = '$id'"); mysql_close($con); ?> Por cierto, ingresa a la primer página como http://url.com/editar_pelicula.php?id=ALGUN_NUMERO
Título: Re: problemilla con $_GET
Publicado por: Shell Root en 3 Marzo 2011, 23:57 pm
@Feedeex, o son todos $_GET o son todos $_POST. Pero las 2 a la misma vez no.
Título: Re: problemilla con $_GET
Publicado por: Feedeex en 4 Marzo 2011, 00:00 am
@Feedeex, o son todos $_GET o son todos $_POST. Pero las 2 a la misma vez no.
No entendí, pero hasta donde yo se el código que le di funciona porque el único que usa para $_GET es obtener una id, pero el formulario está en $_POST. Yo lo uso así y me funciona, solo paso el id por $_GET.
Título: Re: problemilla con $_GET
Publicado por: soru13 en 4 Marzo 2011, 00:05 am
ok,ya funciona, gracias por la ayuda!
Título: Re: problemilla con $_GET
Publicado por: Feedeex en 4 Marzo 2011, 00:11 am
Me alegro que te haya servido ;-)
Título: Re: problemilla con $_GET
Publicado por: .mokk. en 4 Marzo 2011, 01:33 am
@Feedeex, o son todos $_GET o son todos $_POST. Pero las 2 a la misma vez no.
No si esta bien porque si revisas el id es lo unico que envia y los demas los haria del tipo POST y ya solamente enviaria 1.php?id=<?=$id?>, mientras que los demas los colocaria en tipo POST, asi que si efectivamente funcionaria de tal forma.
|