Foros del Web » Programando para Internet » PHP »

Que tiene de malo este formulario???

Estas en el tema de Que tiene de malo este formulario??? en el foro de PHP en Foros del Web. Amigos ya tengo dos dias en esto, tengo un formulario asi: Código PHP: <? //Conexion con la base mysql_connect (  "localhost" ,  "root" ,  "" );  mysql_select_db ( ...
  #1 (permalink)  
Antiguo 12/07/2005, 07:13
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 15 años
Puntos: 1
Que tiene de malo este formulario???

Amigos ya tengo dos dias en esto, tengo un formulario asi:

Código PHP:
<?
//Conexion con la base
mysql_connect"localhost""root"""); 
mysql_select_db("movedb"); 
$result=mysql_query("SELECT * FROM coordinador WHERE Id='".$_GET['Id']."'") or die (mysql_error()); 
?>
<?
//Mostramos los registros
while ($row=mysql_fetch_array($result))
{

echo 
"<form method='post' action='guardar_actualizacion.php?Id=".$row['Id']."'";
//echo "<form method='post' action='guardar_actualizacion.php";
echo "Id: <input type='text' name='Id' size='4' value=\"".$row['Id']."\"><BR>"
echo 
"Programa: <input type='text' name='Cargo' size='60' value=\"".$row['Cargo']."\"><BR>"
echo 
"Profesor: <input type='text' name='Profesor' size='50' value=\"".$row['Profesor']."\"><BR>"
echo 
"Enlace: <input type='text' name='Enlace' size='50' value=\"".$row['Enlace']."\"><BR>"
echo 
"Telf. Habitación: <input type='text' name='Tele_habit' size='10' value=\"".$row['Tel_habitacion']."\"><BR>"
echo 
"Telf. Celular: <input type='text' name='Tel_celul' size='10' value=\"".$row['Tel_celular']."\"><BR>"
echo 
"E-mail: <input type='text' name='E_mail' size='50' value=\"".$row['E_mail']."\"><BR>"
echo 
"Telf. Enlace Hab.: <input type='text' name='Tel_enla_habit' size='10' value=\"".$row['Tel_enla_habitacion']."\"><BR>"
echo 
"Telf. Enlace Celul: <input type='text' name='Tel_enla_celul' size='10' value=\"".$row['Tel_enla_celular']."\"><BR>"
echo 
"E-mail Enlace: <input type='text' name='E_mail_enla' size='10' value=\"".$row['E_mail_enla']."\"><BR>"
}
mysql_free_result($result)
?>
</body>
</html>



<HR>
<input type="submit" value="Enviar" name="enviar">
<input type="reset" value="Restablecer" name="borrar">
El cual hago las modificaciones que quiero y lo mando actualizar con este codigo:

Código PHP:
 <?php
//echo "<b>$_GET</b>: ";print_r ($_GET);
//echo "<br><br>";
//echo "<b>$_POST</b>: ";print_r ($_POST);


$conexion mysql_connect("localhost""root","");
mysql_select_db("movedb",$conexion);

$consulta "UPDATE coordinador SET Cargo='$Cargo', Profesor='$Profesor' , Enlace='$Enlace', Tel_habitacion='$Tel_habit', Tel_celular='$Tel_celul' , E_mail='$E_mail' , Tel_enla_habitacion='$Tel_enla_habit' , Tel_enla_celular='$Tel_enla_celular' , E_mail_enla='$E_mail_enla' WHERE Id='".$_GET['Id']."'";
echo 
$consulta;
$resultado mysql_query($consulta);
if (
$resultado)
{
echo 
"<font color=ff0000 size=4> El registro ha sido Modificado </font>\n";

}
else 

echo 
"<p>¡No se ha podido modificar.!</p>\n"

exit;
}
mysql_close($conexion);
?>
El recoge todas las variables que vienen del formulario vacio, menos el Id que si lo trae, por lo que cuando vienen vacio me actualiza todos los campos de mi tabla en mysql borrandolos todos, mande imprimer el sql y da esto:

UPDATE coordinador SET Cargo='', Profesor='' , Enlace='', Tel_habitacion='', Tel_celular='' , E_mail='' , Tel_enla_habitacion='' , Tel_enla_celular='' , E_mail_enla='' WHERE Id='1'
El registro ha sido Modificado

Vieron las variales que manda del formulario vienen vacia, menos el Id, por eso digo es el formulario que esta mal diseñado, ya que el update se actualiza los campos es decir vacio porque las variables vienen vacias????

Me ayudan por favorrrrrrrrrtrrrrr
__________________
Miguel Padrón :cool:
  #2 (permalink)  
Antiguo 12/07/2005, 07:41
Avatar de Daniel Artes  
Fecha de Ingreso: julio-2003
Mensajes: 102
Antigüedad: 14 años, 5 meses
Puntos: 0
Hola, alomejor es aqui:


echo "<form method='post' action='guardar_actualizacion.php?Id=".$row['Id']."'";


El <form no esta cerrado..... Alomejor por eso no estahaciendo el post correctamente..

saludos
  #3 (permalink)  
Antiguo 12/07/2005, 07:49
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 14 años, 9 meses
Puntos: 1
mmmmm
estas recogiendo el id por GET y enviando por post el formulario, ademas de no estar recibiendo sus valores..

mejor asi
echo "<form method=\"post\" action=\"guardar_actualizacion.php\">";

y en el otro archivos recibimos las variables y las pasamos al update
$id=$POST['Id'];
$Cargo=$POST['Cargo'];
y asic on todas y solo nos queda el update
mysql_query("UPDATE coordinador SET cargo='$Cargo'.... WHERE id=$id") or die(mysql_error());
mysql_close ();
Mi recomendacion es que no dejes modificar el id que sea un campo hidden

Un Saludo
  #4 (permalink)  
Antiguo 12/07/2005, 08:24
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 15 años
Puntos: 1
Gracias por su pronta respuesta a los dos, pero ninguno de los dos consejos a resultado, me sigue dando:


UPDATE coordinador SET Cargo='', Profesor='' , Enlace='', Tel_habitacion='', Tel_celular='' , E_mail='' , Tel_enla_habitacion='' , Tel_enla_celular='' , E_mail_enla='' WHERE Id=''
El registro ha sido Modificado

y esta ves ni el Id lo trae

el formulario quedo asi:

Código PHP:
  <?
//Conexion con la base
mysql_connect"localhost""root"""); 
mysql_select_db("movedb"); 
$result=mysql_query("SELECT * FROM coordinador WHERE Id='".$_GET['Id']."'") or die (mysql_error()); 
?>
<?
//Mostramos los registros
while ($row=mysql_fetch_array($result))
{

//echo "<form method='post' action='guardar_actualizacion.php?Id=".$row['Id']."'";
//echo "<form method='post' action='guardar_actualizacion.php";
echo "<form method=\"post\" action=\"guardar_actualizacion.php\">";
echo 
"Id: <input type='text' name='Id' size='4' value=\"".$row['Id']."\"><BR>"
echo 
"Programa: <input type='text' name='Cargo' size='60' value=\"".$row['Cargo']."\"><BR>"
echo 
"Profesor: <input type='text' name='Profesor' size='50' value=\"".$row['Profesor']."\"><BR>"
echo 
"Enlace: <input type='text' name='Enlace' size='50' value=\"".$row['Enlace']."\"><BR>"
echo 
"Telf. Habitación: <input type='text' name='Tele_habit' size='10' value=\"".$row['Tel_habitacion']."\"><BR>"
echo 
"Telf. Celular: <input type='text' name='Tel_celul' size='10' value=\"".$row['Tel_celular']."\"><BR>"
echo 
"E-mail: <input type='text' name='E_mail' size='50' value=\"".$row['E_mail']."\"><BR>"
echo 
"Telf. Enlace Hab.: <input type='text' name='Tel_enla_habit' size='10' value=\"".$row['Tel_enla_habitacion']."\"><BR>"
echo 
"Telf. Enlace Celul: <input type='text' name='Tel_enla_celul' size='10' value=\"".$row['Tel_enla_celular']."\"><BR>"
echo 
"E-mail Enlace: <input type='text' name='E_mail_enla' size='10' value=\"".$row['E_mail_enla']."\"><BR>"
//echo "</form>"; 
}
mysql_free_result($result)
?>
<HR>
<input type="submit" value="Enviar" name="enviar">
<input type="reset" value="Restablecer" name="borrar">
</form>
</body>
</html>
Y la pagina que recohe la variable y la gustda quedo asi:
Código PHP:
<?php
//echo "<b>$_GET</b>: ";print_r ($_GET);
//echo "<br><br>";
//echo "<b>$_POST</b>: ";print_r ($_POST);
$id=$POST['Id'];
echo 
$id;
echo 
"<BR>";
$Cargo=$POST['Cargo'];
echo 
"<BR>";
echo 
$Cargo;

$conexion mysql_connect("localhost""root","");
mysql_select_db("movedb",$conexion);


$consulta "UPDATE coordinador SET Cargo='$Cargo', Profesor='$Profesor' , Enlace='$Enlace', Tel_habitacion='$Tel_habit', Tel_celular='$Tel_celul' , E_mail='$E_mail' , Tel_enla_habitacion='$Tel_enla_habit' , Tel_enla_celular='$Tel_enla_celular' , E_mail_enla='$E_mail_enla' WHERE Id='$id'";
echo 
$consulta;
$resultado mysql_query($consulta);
if (
$resultado)
{
echo 
"<font color=ff0000 size=4> El registro ha sido Modificado </font>\n";

}
else 

echo 
"<p>¡No se ha podido modificar.!</p>\n"

exit;
}
mysql_close($conexion);
?>
Se que me pueden ayudar y a lo mejor es una tonteria, pero ya estoy embotado y no le encuentro el error, me ayudan plisssssssss
__________________
Miguel Padrón :cool:
  #5 (permalink)  
Antiguo 12/07/2005, 08:50
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 15 años
Puntos: 1
Cita:
Iniciado por DINASEN
mmmmm
estas recogiendo el id por GET y enviando por post el formulario, ademas de no estar recibiendo sus valores..

mejor asi
echo "<form method=\"post\" action=\"guardar_actualizacion.php\">";

y en el otro archivos recibimos las variables y las pasamos al update
$id=$POST['Id'];
$Cargo=$POST['Cargo'];
y asic on todas y solo nos queda el update
mysql_query("UPDATE coordinador SET cargo='$Cargo'.... WHERE id=$id") or die(mysql_error());
mysql_close ();
Mi recomendacion es que no dejes modificar el id que sea un campo hidden

Un Saludo
y en el otro archivos recibimos las variables y las pasamos al update
$id=$POST['Id'];
$Cargo=$POST['Cargo'];

Ya lo resolvi, a esto le faltava:

y en el otro archivos recibimos las variables y las pasamos al update
$id=$_POST['Id'];
$Cargo=$_POST['Cargo'];

Y asi a cada uno, a hora si me trae todas las variables y me la actualizar, gracias por toda su ayuda esperom siempre contar con ustedes en este ermozo mundo del PHP Slaudos y hasta la proxima
__________________
Miguel Padrón :cool:
  #6 (permalink)  
Antiguo 12/07/2005, 14:52
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 14 años, 9 meses
Puntos: 1
Perdon con las prisas se me olvido el _

Un Saludo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:48.