Foros del Web » Programando para Internet » PHP »

no me funciona la funcion si la llamo mas de una vez

Estas en el tema de no me funciona la funcion si la llamo mas de una vez en el foro de PHP en Foros del Web. Hola a todos: despues de conectar a la base de datos creo una funcion conteniendo un formulario que lo que hace es hacer un update ...
  #1 (permalink)  
Antiguo 09/07/2010, 02:27
Avatar de JOSANCIN  
Fecha de Ingreso: septiembre-2008
Ubicación: huesca
Mensajes: 298
Antigüedad: 11 años, 2 meses
Puntos: 0
no me funciona la funcion si la llamo mas de una vez

Hola a todos:

despues de conectar a la base de datos creo una funcion conteniendo un formulario que lo que hace es hacer un update en un registro determinado.
Con el argumento de la funcion ($situacion) yo indico que registro quiero que actualice.
Mi problema es que si llamo una vez a la funcion por ejemplo haciendo formulario('ai'); si que funciona actualizando el registro que en el campo posicion tiene el valor ai pero si la llamo dos veces haciendo
formulario('ai');
formulario('ac');
y luego clico en el formulario primero se me actualizan los dos registros (el que tiene en el campo de posicion el valor ai que es el que yo quiero que se actualice y el que tiene en el campo de posicion el valor ac)

no doy con la solucion, agradeceria si a alguien se le ocurre
gracias y que vaya bien

include ("funcionesMySql.php");
conectar("$basedatos");

function formulario($situacion){
echo "este es el formulario correspondientea a la posicion ".$situacion;
echo '<form enctype="multipart/form-data" action="" method="POST">';
echo '<input type="file" name="archivo">';
echo '<input type="hidden" name="posicion" value="$situacion">';
echo '<br>';
echo '<input type="text" name="titulo" >';
echo '<br>';
echo '<input type="text" name="texto" >';
echo '<br>';
echo '<input type="submit" value="INTRODUCE DATOS">';
echo '</form>';
$tabla="datospagprincipal";
if (isset($_POST['titulo']) && isset($_POST['texto']) && isset($_POST['posicion']) && $_POST['posicion']=='$situacion')
{
$posicion=$_POST['posicion'];
$titulo=$_POST['titulo'];
$texto=$_POST['texto'];
$a="update datospagprincipal SET
titulo='$titulo',
texto='$texto',
WHERE posicion='$situacion'";
mysql_query($a);

}

}
  #2 (permalink)  
Antiguo 09/07/2010, 03:55
 
Fecha de Ingreso: abril-2010
Mensajes: 19
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: no me funciona la funcion si la llamo mas de una vez

Hola!

La verdad es que es la primera vez que veo una función que carga un formulario, y tal vez te de problemas el tema de mezclar las variables al estar todo en la misma página y que el metodo $_POST esté dentro de la propia función.

Código HTML:
Ver original
  1. <?
  2. include ("funcionesMySql.php");
  3. conectar("$basedatos");
  4. //al cargar esta página necesitas tener la variable $situación
  5. ?>
  6.  
  7. <p>este es el formulario correspondiente a la posicion: <? echo $situacion; ?></p>
  8. <form enctype="multipart/form-data" action="" method="POST">
  9. <input type="file" name="archivo" />
  10. <input type="hidden" name="posicion" value="<? echo $situacion; ?>" />
  11. <input type="text" name="titulo" />
  12. <input type="text" name="texto" >
  13. <input type="submit" value="INTRODUCE DATOS">
  14. </form>
  15.  
  16. <?
  17. $tabla="datospagprincipal";
  18. if (isset($_POST['titulo']) && isset($_POST['texto']) && isset($_POST['posicion']) && $_POST['posicion']=='$situacion')
  19. {
  20. $posicion=$_POST['posicion'];
  21. $titulo=$_POST['titulo'];
  22. $texto=$_POST['texto'];
  23. $a="update datospagprincipal SET
  24. titulo='$titulo',
  25. texto='$texto',
  26. WHERE posicion='$situacion'";
  27. mysql_query($a);
  28. }
  29. ?>

No sé si mi comentario te sirve de mucho, espero que si.

Saludos!

Etiquetas: funcion, mas
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 22:29.