Foros del Web » Programando para Internet » PHP »

problema al pasar valores desde formularios

Estas en el tema de problema al pasar valores desde formularios en el foro de PHP en Foros del Web. buenas!! sucede que estoy haciendo una base de datos y el grabado y consulta funcionan de maravilla el problema esta en las modificaciones (UPDATE) la ...
  #1 (permalink)  
Antiguo 04/08/2008, 01:10
 
Fecha de Ingreso: abril-2003
Ubicación: Mexico
Mensajes: 604
Antigüedad: 21 años
Puntos: 23
Pregunta problema al pasar valores desde formularios

buenas!!

sucede que estoy haciendo una base de datos y el grabado y consulta funcionan de maravilla el problema esta en las modificaciones (UPDATE)

la cosa va asi:

tengo un formulario de consulta que pide una referencia
Código:
<form method="POST" action="modirug.php">
 <b> Registro Uinico de Grupo (RUG)</b>
  <input type="text" name="buscarug">
  <input type="submit" name="Submit" value="Consultar">
</form>
hace la consulta y la presenta perfecto pero aqui empiezan mis problemas, este es un formulario que quiero que aparezcan los valores previos almacenados en la base de datos,

la consulta es esta:
Código:
<FORM METHOD="POST" ACTION="modificar2.php">

  <?php
//echo "<form action=\"modificar2.php\" method=\"post\" enctype=\"multipart/form-data\">";
echo "Indentificador :$ID_Scouts";
	include ("formato.php");
//    echo "<INPUT TYPE=\"SUBMIT\" value=\"Actualizar\">";
}
	//echo "<input type=\"submit\" value="Actualizar">

?>
<INPUT TYPE="SUBMIT" value="Actualizar">
</FORM>

y el formato tiene este codigo
Código:
	echo "<b>Nombre :</b><input type='text' value=\"$nombre\" SIZE=\"50\" MAXLENGTH=\"60\"/>\n";
	echo "<b>Edad :</b><input type='text' value=\"$edad\" SIZE=\"2\" MAXLENGTH=\"2\"/>\n<br>";
	echo "<b>Direccion :</b><input type='text' value=\"$direccion\" SIZE=\"120\" MAXLENGTH=\"120\"/>\n<br>";
 etc.....
mi problema es que despues de este punto al enviar el formulario con las modificaciones ya se pierden las variables y no pasan al siguiente que es el que hace la actualizacion que es este:

Código:
   include("conec1.php"); 
   $link=Conectarse(); 
   $ID_Scouts=$_POST['ID_Scouts']; 
   $nombre=$_POST['nombre']; 
   $edad=$_POST['edad'];    

continua....
  etc....

$sSQL = "UPDATE archivo SET nombre = '$nombre' , edad = '$edad' , direccion = '$direccion' , telefono = '$telefono' , nacimiento = '$nacimiento' , cp = '$cp' , telca = '$telca' , telcel = '$telcel' , email = '$email' , hmnos = '$hmnos' , reli = '$reli' , madre = '$madre', ocuma = '$ocuma' , telma = '$telma' , padre = '$padre' , ocupa = '$ocupa' , telpa = '$telpa' , obser = '$obser' , aler = '$aler' , trata = '$trata' , alermed = '$alermed' , derha = '$derha' , nuafi = '$nuafi' , sangre = '$sangre' , obtra = '$obtra' , emavi = '$emavi' , nada = '$nada' , apagu = '$apagu' , esc = '$esc' , gragru = '$gragru' , obser = '$obesc' , cum = '$cum' , rug = '$rug' , fegru = '$fegru' , foto = '$foto' WHERE 'ID_Scouts'='$ID_Scouts'";
mysql_db_query("scouts",$sSQL);
alguien me puede orientas o ayudar...

mis conocimientos de php y mysql son muy pobres y esto solo lo estoy haciendo por ayudar a un amigo

de antemano gracias

un saludo!!
__________________
¡El Respeto al Derecho Ajeno Es la Paz!

Última edición por HalconVigia; 04/08/2008 a las 11:57 Razón: falto informacion
  #2 (permalink)  
Antiguo 04/08/2008, 01:23
Avatar de piernodoyuna  
Fecha de Ingreso: noviembre-2007
Mensajes: 9
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: problema al pasar valores desde formularios

Posiblemente el problema sea por usar las variables dentro de comillas simples (lo toma como un literal y no lo interpreta), te recomiendo concatenar:

$sSQL = "UPDATE archivo SET nombre = '$nombre' , edad = '$edad' ...
  #3 (permalink)  
Antiguo 04/08/2008, 01:41
 
Fecha de Ingreso: abril-2003
Ubicación: Mexico
Mensajes: 604
Antigüedad: 21 años
Puntos: 23
Respuesta: problema al pasar valores desde formularios

buenas!

te comento que ya eh probado casi todo

eh intendado con las comillas dobles,
tambien asi:
$sSQL = "UPDATE archivo SET nombre = \'$nombre\' , .....

poniendole comillas a ambas variables

$sSQL = "UPDATE archivo SET 'nombre' = '$nombre' , ....

el caso es que no pasan las variables... porque antes de grabar a la base hago un echo para verificar el paso y no devuelve nada

alguna idea??

un saludo!!
__________________
¡El Respeto al Derecho Ajeno Es la Paz!
  #4 (permalink)  
Antiguo 04/08/2008, 07:35
Avatar de jeanclon  
Fecha de Ingreso: mayo-2005
Mensajes: 258
Antigüedad: 18 años, 10 meses
Puntos: 2
Respuesta: problema al pasar valores desde formularios

Ok no le pusiste nombre a los campos de texto:

<input type='text' value=\"$edad\" SIZE=\"2\" MAXLENGTH=\"2\"/>
Te falto el name='edad'

No vas a obtener un $_POST['edad'] ya que el campo no tiene name.
  #5 (permalink)  
Antiguo 04/08/2008, 12:03
 
Fecha de Ingreso: abril-2003
Ubicación: Mexico
Mensajes: 604
Antigüedad: 21 años
Puntos: 23
Respuesta: problema al pasar valores desde formularios

buenas!!

de hecho tienes razon en eso pero...
¿como se lo pongo?

echo "<b>Nombre :</b><input type='text' value=\"$nombre\" SIZE=\"50\" MAXLENGTH=\"60\"/>\n";

ya se que el formato deveria quedar asi:
<b>Nombre:</b><INPUT TYPE="text" NAME="nombre" SIZE="50" MAXLENGTH="60">
asi lo tengo puesto en el formulario de alta y ahi no tengo problema alguno

el dato es que quiero que en las casillas del formulario con modificacion aparezcan los datos previos para no tener que meter todos los datos de nuevo

en otras palabras que la variable tenga un valor por ejemplo
nombre="pedrito perez"
y que aparezca eso en la casilla y ahi mismo pueda cambiar a "pedrito perez" por "pedrito lopez" sin tener que escribir todo el nombre y en las casillas que no tenga que hacer cambios permanezcan los datos
__________________
¡El Respeto al Derecho Ajeno Es la Paz!
  #6 (permalink)  
Antiguo 04/08/2008, 12:23
Avatar de jeanclon  
Fecha de Ingreso: mayo-2005
Mensajes: 258
Antigüedad: 18 años, 10 meses
Puntos: 2
Respuesta: problema al pasar valores desde formularios

Ok una cosa es el value que lleva el text (valor de variable) y otra el name de dicho text (nombre de variable).

echo "<b>Nombre :</b><input type='text' name='nombre' value=\"$nombre\" SIZE=\"50\" MAXLENGTH=\"60\"/>\n";

El formulario de alta que llamas tu, te serviria igual para el de modificacion.
Si en el de alta tienes
<input type='text' name='nombre'>
En el de modificar tendrias que simplemente inicializarle el value con los datos correspondientes.
<input type='text' name='nombre' value=$nombre>
  #7 (permalink)  
Antiguo 04/08/2008, 13:00
 
Fecha de Ingreso: abril-2003
Ubicación: Mexico
Mensajes: 604
Antigüedad: 21 años
Puntos: 23
Respuesta: problema al pasar valores desde formularios

Muchisimas Gracias!!!

ya acabo de probarlo y ese era mi error ya pasan casi todas las variables pero...

la variable ID_Scouts no pasa al ultimo para hacer el UPDATE a la base

a:
sSQL="UPDATE etc .... WHERE 'ID_Scouts'='$ID_Scouts'";

le quite

WHERE 'ID_Scouts'='$ID_Scouts'";

y me ah grabado en Todos los registros la misma informacion

ahora las preguntas concretas son
porque no paso el ID ? y dos con la condicion de 'ID_Scouts'='$ID_Scouts'";
se graban correctamente los datos??
__________________
¡El Respeto al Derecho Ajeno Es la Paz!
  #8 (permalink)  
Antiguo 04/08/2008, 13:52
Avatar de jeanclon  
Fecha de Ingreso: mayo-2005
Mensajes: 258
Antigüedad: 18 años, 10 meses
Puntos: 2
Respuesta: problema al pasar valores desde formularios

ok todo depende de como estas llenanando los campos de este formulario de modificacion. Supongo que al comienzo haces un Select de la base de datos. Pues simplemente puedes crear un campo oculto cuyo value sea el id y listo.
  #9 (permalink)  
Antiguo 04/08/2008, 14:06
 
Fecha de Ingreso: abril-2003
Ubicación: Mexico
Mensajes: 604
Antigüedad: 21 años
Puntos: 23
Respuesta: problema al pasar valores desde formularios

si, ya eh hecho eso y ya esta pasando el ID pero sigue sin grabar los cambios

aparentemente es la condicion where que tengo pero ya eh cambiado a varias opciones y no me responde, NO marca error pero no graba los cambios

si quito el WHERE graba pero en todos los registros no solo en el que modifique (tengo almacenado 5 para pruebas)

la condicion where esta asi:
sSQL="UPDATE etc.... WHERE `archivo`.`ID_Scouts` = '$ID_Scouts' LIMIT=1";

eh hecho pruebas con estos formatos pero sin resultado
sSQL="UPDATE etc.... WHERE `ID_Scouts` = '$ID_Scouts' LIMIT=1";
sSQL="UPDATE etc.... WHERE `ID_Scouts` = '$ID_Scouts'";

repito que cuando quito el where si graba los cambios pero a todos
sSQL="UPDATE etc.... 'variable40'='$variable40'";

que estoy haciendo mal??

gracias de nuevo por tu tiempo y paciencia
__________________
¡El Respeto al Derecho Ajeno Es la Paz!
  #10 (permalink)  
Antiguo 04/08/2008, 14:14
Avatar de jeanclon  
Fecha de Ingreso: mayo-2005
Mensajes: 258
Antigüedad: 18 años, 10 meses
Puntos: 2
Respuesta: problema al pasar valores desde formularios

Ya probaste haciendo un echo de $ID_Scouts???
si es un valor numerico quita las comillas al $ID_Scouts.
  #11 (permalink)  
Antiguo 04/08/2008, 14:49
 
Fecha de Ingreso: abril-2003
Ubicación: Mexico
Mensajes: 604
Antigüedad: 21 años
Puntos: 23
Respuesta: problema al pasar valores desde formularios

buenas...

si de hecho hice una prueba que no habia hecho y quedo asi:

sSQL="UPDATE etc.... WHERE ID_Scouts = '$ID_Scouts'";

ya quedo, muchisimas gracias por la ayuda...

ahora solo me queda una pregunta

¿con los valores que tengo se puede enviar un valor a una pagina .hrml y como seria la manera de enlazarla?

me explico un poco mas

quiero que el valor de $variable40 pase a otra pagina pero sin un formulario, sino que sea el resultado de envio directo

esto lo quiero hacer para subir una fotografia con el mismo nombre de la $variable40
el codigo para subir las fotos funciona perfecto pero el usuario tiene que volver a escribir el valor y eso es lo que quiero eliminar o si fuera mejor como pudiera incluir el que suba la foto dentro del formulario de modificacion

el codigo para subir las fotos es este
y el formulario que tengo incluido en el proceso de cambio es:
cambiafoto.html
<form action="sube.php" method="post" enctype="multipart/form-data">
Confirma la C.U.G. del Elemento: <input type="text" name="rugimagen" size="20"><p>
<input type="file" name="userfile" size="20" />
<input type="submit" name="submit" value="Subir imagen" /> </p>
</form>


sube.php
<?php
//funcion para renombrar fotos
$idfoto=$_POST[rugimagen];
//$idfoto;
$uploaddir = 'images/';
$uploadfile = $uploaddir . $idfoto.".jpg";

//userfile es el campo del formulario
if (is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name']))
{
copy($HTTP_POST_FILES['userfile']['tmp_name'],$uploadfile );
echo "<center><img src=\"$uploadfile\" ><br>";
echo "El Elemento <b>$uploadfile</b> ha sido Registrado Correctamente.\n <br>";
} else {
echo "El archivo no se pudo cargar en el servidor.\n<br>";
}
//header("Location: agregar.php");
//include("agregar.php");
echo"
<html>
<body>
<br><br><br>
<b><a href=\"agregar.php\"> Agregar Otro Registro </b><br>
<b><a href=\"index.php\"> Regresar al Menu Principal </b>
</body>
</html>";
?>

me gustaria que pudiera pasar directo el valor desde el mismo formulario

un saludo!!
__________________
¡El Respeto al Derecho Ajeno Es la Paz!
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 23:42.