Foros del Web » Programando para Internet » PHP »

Perdida de variables

Estas en el tema de Perdida de variables en el foro de PHP en Foros del Web. Buenas amigos, ya estoy aqui con mi segunda consulta :).... Llevo 2 semanas programando en php y aun estoy un poco liadito jejeje, el caso ...
  #1 (permalink)  
Antiguo 13/02/2010, 19:22
 
Fecha de Ingreso: febrero-2010
Mensajes: 17
Antigüedad: 14 años, 2 meses
Puntos: 0
Perdida de variables

Buenas amigos, ya estoy aqui con mi segunda consulta :)....

Llevo 2 semanas programando en php y aun estoy un poco liadito jejeje, el caso es que estoy intentando hacer un miniforo (mu cutrecillo, pero por algo se empieza ^^). Realmente hos pongo todo el codigo, pero el fallo me lo da en el insert en la parte final a la hora de recojer $lol que es el IDFORO.

Aca va el codigo:

include("conexionbdd.php");

///////////////////////////////Muestro los nombres de los hilos del foro y paso por url las variables entre ellas $lol que es el IDFORO.

$sql = "SELECT DISTINCT IDFORO FROM foro1";
$resultado = mysql_query($sql)
or die("No se pudo consultar a NOOB");
while ($fila = mysql_fetch_array($resultado))
{
echo " <center><table bgcolor='#FF0000' width='100%' border='5' cellspacing='3' cellpadding='3'>";
echo " <tr>";
echo " <th bgcolor='#99CC00' scope='col'><a href='forov02.php?da=1&lol=".$fila['IDFORO']."' style='color : blue'>$fila[IDFORO]</a></th>";
echo " </tr>";
echo "</table></center>";

}


switch($_GET['da'])
{
case 1://///////Dibuja los temas del hilo seleccionado

if (@$_SESSION['auth'] != "si")
{
header("Location: logeo.html");
}else
{
include("conexionbdd.php");


echo "<th width='10%' bgcolor='#0099FF' scope='col'>
<form action='forov02.php?da=1' method='post'>
<input type='submit' name='escribir' value='ESCRIBIR'>
</form>
</th>
</tr>
<tr>
<th height='580' colspan='2' bgcolor='#0099FF' scope='col'>";

if(isset($_POST['escribir']))
{
echo " <form action = 'forov02.php?da=1' method='post'>";
echo " <center><table width='603' height='446' border='5' cellpadding='3' cellspacing='3'></center>";
echo " <tr>";
echo " <th height='29' scope='row'>Tema:</th>";
echo " <th height='29' colspan='2' scope='row'>
<DIV ALIGN=left><input type='text' name='IDTEMA' size='40'></div></th>";
echo " </tr>";
/////////////////////////////7
echo " <tr>";
echo " <th height='29' scope='row'>TITULO:</th>";
echo " <th height='29' colspan='2' scope='row'>
<DIV ALIGN=left><input type='text' name='titulo' size='40'></div></th>";
echo " </tr>";
/////////////////////////////7
echo " <tr>";
echo " <th height='360' colspan='3' scope='row'><textarea name='comentario' rows='20' cols='100'></textarea></th>";
echo " </tr>";
/////////////////////////////7
echo " <tr>";
echo " <th width='76' height='35' scope='row'>
<input type='hidden' name='escribir'>
<input type='submit' name='subir' value='Subir'></th>";
echo " <th width='408' scope='row'>";
echo " </th></form>";
echo " </tr>";
/////////////////////////////7
echo " </table></form>";

if(isset($_POST['subir']))
{


$session = $_SESSION['IDUSUARIO'];
include("conexionbdd.php");

$mysql_datetime = date("Y-m-d H:i:s");
$sql = "INSERT INTO foro1(IDFORO, IDTEMA, USERNAME, COMENTARIO, FECHA, TITULO) VALUES('$lol', '$_POST[IDTEMA]','$session', '$_POST[comentario]', '$mysql_datetime', '$_POST[titulo]' )";
$resultado= mysql_query($sql)
or die ("No se mandar mensage");

header("Location: forov02.php?da=1");

}
echo ' <br>';
}

if(!isset($_POST['escribir']))
{

$sql = "SELECT * FROM foro1 WHERE IDFORO= '".$_GET["lol"]."' ORDER BY FECHA ASC";
$resultado = mysql_query($sql)
or die("No se pudo consultar a NOOB");
while ($fila = mysql_fetch_array($resultado))
{
echo " <center><table width='70%' height='15%' border='5' cellpadding='3' cellspacing='3'>";
echo " <tr>";
echo " <th width='7%' scope='row'>&nbsp;</th>";
echo " <td width='63%'><a href='forov02.php?da=2' style='color : blue'>$fila[IDTEMA]</a></td>";
echo " <td width='20%'>$fila[USERNAME]</a></td>";
echo " <td width='10%'>&nbsp;</td>";
echo " </tr>";
echo "</table></center>";
}
}
}
break;
}

Espero que me podais ayudar, e probado de todo, solo me falta probar con globales pero por lo que tengo entendido es algo que habria que evitar a toda costa.

Un saludo y gracias de antemano :).

Última edición por SandWich; 14/02/2010 a las 06:59 Razón: corección
  #2 (permalink)  
Antiguo 13/02/2010, 19:31
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: Perdida de variables

y si lol la haces variable de sesion ?
  #3 (permalink)  
Antiguo 13/02/2010, 19:53
 
Fecha de Ingreso: febrero-2010
Mensajes: 17
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Perdida de variables

Cita:
Iniciado por Death_Empire Ver Mensaje
y si lol la haces variable de sesion ?
oko voy a ello, ahora te digo si me funciona :)
  #4 (permalink)  
Antiguo 13/02/2010, 20:03
 
Fecha de Ingreso: febrero-2010
Mensajes: 17
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Perdida de variables

Cita:
Iniciado por Death_Empire Ver Mensaje
y si lol la haces variable de sesion ?
Perdona por mi ignorancia pero con 2 semanas de programacion estoy un poco verde. Como hago que lol sea variable de sesion?, es que segun entiendo deberia de ponerlo donde hago lo de la url pero nose como hacerlo variable de sesion para que me lo mande como tal desde la url ya que es ese valor concreto el que quiero mandar.

<a href='forov02.php?da=1&lol=".$fila['IDFORO']."="$_SESSION['lol']"' style='color : blue'>$fila[IDFORO]</a>

evidentemente eso me da fallo de sintaxis :S. Echarme un cable que son las 3 de la mañana y llevo ya 8 horas seguidas con el miniforo y lo veo todo ya turbio.

Gracias otra vez de antemano :)

Última edición por SandWich; 13/02/2010 a las 20:09 Razón: Complemento explicación
  #5 (permalink)  
Antiguo 13/02/2010, 23:14
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: Perdida de variables

en el inicio de tus archivos tiene que poner la linea session_start();

y en ves de pasar la variable lol por la url asiganla a una variable de sesion
$_SESSION['lol'] = $lol;

despues en el otro archivo tambien en el prinicipio del archivo tiene que ir la linea session_start();

y cuando necesite la varible lol la usas como $_SESSION['lol'] pq ya la tienes guardada.

aparte
Código:
te faltaron los .

<a href='forov02.php?da=1&lol=".$fila['IDFORO']."=".$_SESSION['lol']."' style='color : blue'>".$fila[IDFORO]."</a>
  #6 (permalink)  
Antiguo 14/02/2010, 06:33
 
Fecha de Ingreso: febrero-2010
Mensajes: 17
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Perdida de variables

Cita:
Iniciado por Death_Empire Ver Mensaje
en el inicio de tus archivos tiene que poner la linea session_start();

y en ves de pasar la variable lol por la url asiganla a una variable de sesion
$_SESSION['lol'] = $lol;

despues en el otro archivo tambien en el prinicipio del archivo tiene que ir la linea session_start();

y cuando necesite la varible lol la usas como $_SESSION['lol'] pq ya la tienes guardada.

aparte
Código:
te faltaron los .

<a href='forov02.php?da=1&lol=".$fila['IDFORO']."=".$_SESSION['lol']."' style='color : blue'>".$fila[IDFORO]."</a>


:( como variable de session tampoco me lo acepta, con eso realmente parece que no pase ningun valor, no hay ninguna forma de guardar el valor de lol=".$fila['IDFORO']." para tenerlo en cualquier parte del formulario en cuestion sin tener que utilizar variables globales?

pufff..., me estoy empezando a cansar jajaja, al final empiezo de 0 y hago una tabla diferente para cada hilo del foro aunque realmente me parezca una chapuza pudiendolo hacer en una.

Un saludo ^^

Última edición por SandWich; 14/02/2010 a las 06:37 Razón: reedicion
  #7 (permalink)  
Antiguo 14/02/2010, 07:20
 
Fecha de Ingreso: febrero-2010
Mensajes: 17
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Perdida de variables

Problema solucionado, al final lo hice con variables de session :), muchas gracias despues de 7 horas soy el hombre mas feliz del mundo jajajaja

Etiquetas: perdida, variables
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 11:28.