Foros del Web » Programando para Internet » PHP »

Perder variable al pasar por 3 formularios

Estas en el tema de Perder variable al pasar por 3 formularios en el foro de PHP en Foros del Web. No se si el titulo es el correcto. El problema es la sintacis del codigo. las variables son: id,autor, titulo, mensaje , respuestas, indentificador. Esto ...
  #1 (permalink)  
Antiguo 17/12/2009, 15:18
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Perder variable al pasar por 3 formularios

No se si el titulo es el correcto.
El problema es la sintacis del codigo.

las variables son:
id,autor, titulo, mensaje , respuestas, indentificador.

Esto es un foro, por lo tanto ID es numero del Theard, Autor el crador o el que responde, titulo= titulo del theard, respuestas= nº de respuestas (1 2 3 4 5 6), y indentificador= 0 o al ID del theard q estasmos respondiendo.

OSEA:

si creamos uno nuevo:
ID= llave primaria de la tabla, designada por MY SQL (ej: 11)
Autor= Mariano
Titulo= Esto no anda
Mensaje=Mariano no te sale un simple foro
Respuestas= 0
Indentificador= 0

Si respondo ese theard:
ID= llave primaria de la tabla, designada por MY SQL.
Autor= visitante
Titulo= si que anda
Mensaje= es facil rompete la cabeza
Respuestas=0
Indentificador=11

Y quedaria haci:

ID=11
Autor=Mariano
Titulo=Esto no anda
Respuestas=1
Indentificador=0

******************se entendio**********

Bueno en el index del foro tengo esto:

TITULO--------------------------------------FECHA------------------Respuestas
[VER] esto no anda---------------------17-12-09-----------------0

cuando click en ver me envia por metodo POST a foroforo.php el ID.
Código PHP:
<input type='hidden' name='id' value=$id
En foroforo.php
recibo:
Código PHP:
$id=$_POST['id']; 
y muesta lo siguiente:

TITULO: esto no anda
AUTOR: Mariano
Mensaje:
Mariano no te sale un simple foro

[responder theard] [Volver al foro]

cuando pongo responder theard.
envia a formularioforo.php respuestas y id
me manda al siguiente formulario:
Código PHP:
<form action="addforo.php" method="post">
Respustas:<input type="text" name="respuestas" value="<? $respuestas=$_POST['respuestas'];echo $respuestas?>"><br><br>
Tema:<input type="text" name="indentificador" value="<? $id=$_POST['id'];echo $id;?>"><br><br>
AUTOR:<input type="text" name="autor" size="25">
<br><br>
TITUTLO:<input type="text" name="titulo" size="25">
<br><br>
MENSAJE:<textarea name="mensaje">
</textarea>
<br>
<br>
<input type="submit" value="Enviar" >
</form>
Y este lo envia a addforo.php:
Código PHP:
<?
    $id
$_POST['id'];
    
$autor$_POST['autor'];
    
$titulo$_POST['titulo'];
    
$mensaje$_POST['mensaje'];
    
$respuestas$_POST['respuestas'];
    
$indentificar$_POST['indentificador'];
    
$host="127.0.0.1";
    
$user="root";
    
$password="********";
    
$db="foro";
    
$connect=mysql_connect($host,$user,$password);
    
mysql_select_db("foro",$connect);
    
$fecha=time();
    if(empty(
$indentificador))
        {
$indentificador=0;}
    
$respuesta=$respuestas+1;    
    
$sql="insert into foro1 (autor,titulo,mensaje,fecha,indentificador) values ('$autor', '$titulo','$mensaje','$fecha','$indentificador')";
    
mysql_query($sql);
    
$sql2="update foro1 set respuestas='$respuesta' where id='$indentificador'";
    
mysql_query($sql2);
    
$resultado=mysql_query("select '$mensaje' from foro1 where mensaje='$mensaje'",$connect);
    while (
$registro=mysql_fetch_row($resultado))
        { 
            echo 
"<tr>";
            foreach(
$registro as $clave)
                {
                    echo
"<td>",$clave,"</td>";
                }
        }
    echo
"<br><br>";
    echo
"<a href=indexforo.php>Volver al foro</a> </font></center>";
    
?>
El problema es el siguiente:

en la tabla siempre se setea:

[ID]-------[AUTOR]-----------[TITULO]-------[MENSAJE]---------[RESPUESTAS]--------[INDENTIFICADOR]

todos ok, menos RESPUESTAS Y INDENTIFICADOR que se setean en 0
aclaro que ambas tienen como predeterminado en my sql como variable "0".

Alguna idea... estas mal el codigo? o tengo un problemas con "" y ''.

Saludos.

Última edición por SirDuque; 17/12/2009 a las 15:44 Razón: contraseña mysql // $indentificador
  #2 (permalink)  
Antiguo 17/12/2009, 15:24
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 6 meses
Puntos: 65
Respuesta: Perder variable al pasar por 3 formularios

Código PHP:
Ver original
  1. #te falto el '$' en 'indentificador' que por cierto es 'identificador' =P
  2. $sql="insert into foro1 (autor,titulo,mensaje,fecha,indentificador) values ('$autor', '$titulo','$mensaje','$fecha','$indentificador')";
  3.  
  4. #y esto esta mas arriba, y esta mal tambien mezclas mal php con html
  5. <input type='hidden' name='id' value=<?php echo $id; ?> />
  #3 (permalink)  
Antiguo 17/12/2009, 15:43
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: Perder variable al pasar por 3 formularios

Cita:
Iniciado por jackson666 Ver Mensaje
Código PHP:
Ver original
  1. #te falto el '$' en 'indentificador' que por cierto es 'identificador' =P
  2. $sql="insert into foro1 (autor,titulo,mensaje,fecha,indentificador) values ('$autor', '$titulo','$mensaje','$fecha','$indentificador')";
  3.  
  4. #y esto esta mas arriba, y esta mal tambien mezclas mal php con html
  5. <input type='hidden' name='id' value=<?php echo $id; ?> />
El problema sigue--.....

y con respecto a <?php echo $id;?> ya lo corregi, si bien en el libro tenia ese codigo:
Código:
<input type='hidden' name='id' value=<?php echo $id; ?>
utilize el otro para ver que desde foroforo.php a formularioforo.php pasaban bien el ID y el INDENTIFICADOR...

Identificado // indentificador....
me di cuenta pero me daba fiaka corregir desde mysql, por eso arrastre el error.
  #4 (permalink)  
Antiguo 18/12/2009, 10:01
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: Perder variable al pasar por 3 formularios

SOLUCIONADO:

addforo.php
Código PHP:
<?
    $id
$_POST['id'];
    
$autor$_POST['autor'];
    
$titulo$_POST['titulo'];
    
$mensaje$_POST['mensaje'];
    
$respuestas$_POST['respuestas'];
    
$indentificar$_POST['indentificador'];
    
$host="127.0.0.1";
    
$user="root";
    
$password="a32wt251";
    
$db="foro";
    
$connect=mysql_connect($host,$user,$password);
    
mysql_select_db("foro",$connect);
    
$fecha=time();
    if(
$indentificador==0)
        {
$indentificador=$id;}
    
$respuesta=$respuestas+1;    
    
$sql="insert into foro1 (autor,titulo,mensaje,fecha,indentificador) values ('$autor', '$titulo','$mensaje','$fecha','$indentificador')";
    
mysql_query($sql);
    
$sql2="update foro1 set respuestas='$respuesta' where id='$indentificador'";
    
mysql_query($sql2);
    
$resultado=mysql_query("select '$mensaje' from foro1 where mensaje='$mensaje'",$connect);
    while (
$registro=mysql_fetch_row($resultado))
        { 
            echo 
"<tr>";
            foreach(
$registro as $clave)
                {
                    echo
"<td>",$clave,"</td>";
                }
        }
    echo
"<br><br>";
    echo
"<a href=indexforo.php>Volver al foro</a> </font></center>";
    
?>
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 14:17.