Foros del Web » Programando para Internet » PHP »

While y "IF"

Estas en el tema de While y "IF" en el foro de PHP en Foros del Web. hola necesito hacer esto me conecto a la base de datos uso un while ($x=mysql_fetch_array($xx)){ y muestro con un echo los resultados... ahora lo que ...
  #1 (permalink)  
Antiguo 08/07/2009, 14:58
(Desactivado)
 
Fecha de Ingreso: julio-2009
Mensajes: 174
Antigüedad: 14 años, 9 meses
Puntos: 3
While y "IF"

hola necesito hacer esto

me conecto a la base de datos
uso un while ($x=mysql_fetch_array($xx)){

y muestro con un echo los resultados...

ahora lo que quiero hacer es:

dentro de ese while,
if

variable = cookie: se muestra un formulario, sino no


ahora lo que preciso es saber como hacer eso del if, porque si le mando

if ($usuario==$cookie){
ACA ESTARIA EL FORMULARIO}

pormas que el usuario sea igual a la cookie o no lo sea, el formulario se muestra igual




osea la conexion la se hacer, los datos se muestran y el formulario funciona, pero no puedo hacer que el formulario solo sea visible cuando la variable usuario sea igual a una cookie


que puedo hacer?
  #2 (permalink)  
Antiguo 08/07/2009, 15:07
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: While y "IF"

¿Que tienes guardado en $usuario y en $cookie? porque se supone que con eso ya te funcione lo que quieres. Escribe el valor de $usuario y de $cookie

echo $usuario;
echo $cookie;

Y si es posible escribe el codigo que usas para poder ver si hay algun error en el
  #3 (permalink)  
Antiguo 08/07/2009, 15:21
(Desactivado)
 
Fecha de Ingreso: julio-2009
Mensajes: 174
Antigüedad: 14 años, 9 meses
Puntos: 3
Respuesta: While y "IF"

$user es un dato que se saca de la bd, y $cookie es una cookie que tiene que coincidir con el valor, si yo le pongo un echo queda


1
hola
415697=415697
($user=$cookie)
FORMULARIO CON UN BOTON PARA ELIMINARLO

2
chau
415697=415697
($user=$cookie)
FORMULARIO CON UN BOTON PARA ELIMINARLO

3
hola otra vez
415697=415697
($user=$cookie)
FORMULARIO CON UN BOTON PARA ELIMINARLO


esto va dentro de un post, y el formulario solo se tiene que ver cuando el usuario que hizo el post sea el mismo que figura en la cookie, osea que esta logueado



este es mi codigo









Código PHP:
la conexion ya esta incluida en el post, esto va en un include()
<?
// BUSCA EN COMENTARIOS EL ID DEL POST
$sqlcommysql_query("SELECT * FROM comentarios WHERE post='$idp'",$conexion)
or die(
mysql_error());
// ********************************************* LOS COMENTARIOS
while ($com=mysql_fetch_array($sqlcom)){

$usercom=$com[usuario];
$comen=$com[comentario];
$fecha=$com[fecha];
$count=$count+1;
$idcom=$com[id];
echo 
"<br>$count<br>$usercom\t\t$fecha<br>$comen<br>$idcom";

// esto se muestra todo

// *********************** SABER SI ES EL DUEÑO ********************************************
//SE BUSCA EL ID DEL USUARIO QUE CREO EL POST EN LA TABLA USUARIOS
$sqlusermysql_query("SELECT * FROM usuarios WHERE id='$idus'",$conexion)
or die(
mysql_error());
// ------------------------------------------------------------------------
$us=mysql_fetch_array($sqluser);
$usuario=$us[estecampoesuncodigo];
$cookie=$_COOKIE['elmismocodigo'];
 
//ESTE ES EL MD5 DEVUELTO
//**************************************************************************
if ($usuario==$cookie);{
echo 
"$usuario - $cookie";
// ------------------------------------------------------------------------------
echo "
<form action=\"eliminar.php\" method=\"post\">
<input name=\"id\" type=\"hidden\" value=\"$com[id]\">
<label>
<input type=\"submit\" name=\"Submit2\" value=\"Submit\" />
</label>
</form>"
;
}

//while
//*************************************************************************************************
//AGREGAR COMENTARIO


if (!isset($_COOKIE[elmismocodigo])){
die(
'debe estar registrado para comentar');}

?>
<form action="comentar.php" method="post">
<textarea name="comentario" cols="60" rows="5"></textarea>
<input name="post" type="hidden" value=<? echo"$idp"?>>
       <label> <br />
       <input type="submit" name="Submit" value="Submit">
      </label>
</form>

lo unico que anda mal es que todos ven el formulario, por mas que el codigo que tienen en la cookie sea igual al que figura en la base de datos, osea que cada usuario tiene un codigo, si el codigo del que hizo el post, es igual al codigo que hay en la cookie, son la misma persona
  #4 (permalink)  
Antiguo 08/07/2009, 15:30
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: While y "IF"

dale

echo $us[estecampoesuncodigo];

antes del if. Para ver si te trae informacion. Yo creo que el problema esta en el query especificamente en el WHERE.
Código PHP:
$sqlusermysql_query("SELECT * FROM usuarios WHERE id='$idus'",$conexion) or die(mysql_error()); 
debe ser
Código PHP:
$sqlusermysql_query("SELECT * FROM usuarios WHERE id=$idus",$conexion) or die(mysql_error()); 
Creo que lo que quieres buscar es un numero y no un string.

Me dejas saber
  #5 (permalink)  
Antiguo 08/07/2009, 15:36
(Desactivado)
 
Fecha de Ingreso: julio-2009
Mensajes: 174
Antigüedad: 14 años, 9 meses
Puntos: 3
Respuesta: While y "IF"

no funciono, se sigue viendo el formulario para todos, puede ser porque este dentro del while???
  #6 (permalink)  
Antiguo 08/07/2009, 15:37
(Desactivado)
 
Fecha de Ingreso: julio-2009
Mensajes: 174
Antigüedad: 14 años, 9 meses
Puntos: 3
Respuesta: While y "IF"

si muestro la cookie y el usuario, no son iguales, por ejemplo 18d8fc3a39bcaaa34 - 9d1daf83584b186 , pero siguo viendo la cookie, ya daemas ese echo no lo deberia ver porque esta dentro del if
  #7 (permalink)  
Antiguo 08/07/2009, 15:43
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: While y "IF"

Ya vi el error es que tienes declarado esto

if ($usuario==$cookie);

quitale ; ya que estas diciendo que verifique un codigo que hay antes del punto y coma

Código PHP:
if ($usuario==$cookie);{ 
debe ser
Código PHP:
if ($usuario==$cookie){ 
Por poco nos muerde tu codigo
  #8 (permalink)  
Antiguo 08/07/2009, 15:48
(Desactivado)
 
Fecha de Ingreso: julio-2009
Mensajes: 174
Antigüedad: 14 años, 9 meses
Puntos: 3
Respuesta: While y "IF"

Perfecto muchas gracias
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 00:00.