Problema con PHP, MYSQL y COOKIES

Iniciado por jamarchi, 14 Marzo 2007, 01:57 AM

0 Miembros y 1 Visitante están viendo este tema.

jamarchi

Como le va ? espero que muy bien.....

Gente la consulta es la siguiente: Estoy haciendo una pagina con php y mysql, en mi maquina se conecta de lo mas bien la pagina a la BD, cuando la subi el servidor me dio un error a la hora de conectarla, eso ya lo arregle, el problema viene en que cuando se ingresa el usuario y el password me manda un error , el siguiente :

Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in /home/publiweb/public_html/chefprofesor/validate.php on line 41

Warning: Cannot modify header information - headers already sent by (output started at /home/publiweb/public_html/chefprofesor/validate.php:41) in /home/publiweb/public_html/chefprofesor/validate.php on line 103

Warning: Cannot modify header information - headers already sent by (output started at /home/publiweb/public_html/chefprofesor/validate.php:41) in /home/publiweb/public_html/chefprofesor/validate.php on line 104

Warning: Cannot modify header information - headers already sent by (output started at /home/publiweb/public_html/chefprofesor/validate.php:41) in /home/publiweb/public_html/chefprofesor/validate.php on line 105

Estas son las lineas de validate.php de la 38 a la 41

$strqry = "SELECT * FROM usuarios WHERE usuario='".$uname."'";
        $res= mysql_query($strqry) or die (mysql_error());
        $fila = mysql_fetch_array($res);
        mysql_close($cnx);


Y estas son las lineas de la 100 a la 106

//if the login is correct then set the cookie
$cookie_val=crypt($uname[$user_id]);
//set the cookie so it dies when the browser is closed
setcookie ("name", $known_as[$user_id], 0);
setcookie ("this_cookie", $cookie_val, 0);
header("Location: $success_page");
exit(); 


Según lo que hacia en mi maquina era guardar la información del usuario en una cookie y al salir la limpiaba, me parece que es problemas con la cookies pero soy NUEVO en esto  de las cookies y no le he encontrado

Gracias por la ayuda...

дٳŦ٭

Revisa la conexión del mysql.

Va en PHP.

Saludos


Con sangre andaluza :)


jamarchi

ok voy a chequear eso....

Pregunta: a que te refieres con "Va en PHP."

Saludos  :D

Azielito

lo de las cookies es por que no puedes modificar las cabeceras despues de haber enviado codigo HTML

antes de cualquier codigo HTML que pongas, o un espacio :o genera las cookies

algo asi
<?php
set_cookie
("galletica","valor");

echo 
"<h1>".$_COOKIE['galletica']."</h1";
?>


pero si envias informacion antes que las galletas entonces te dara ese error
Cita de: PHPsetcookie() define una cookie para ser enviada junto con el resto de las cabeceras HTTP. Como otras cabeceras, las cookies deben ser enviadas antes de cualquier salida desde su script (esta es una restricción de protocolo). Esto requiere que coloque las llamadas a esta función antes de cualquier salida, incluyendo las etiquetas <html> y <head> así como cualquier espacio en blanco. Si existe salida antes de llamar esta función, setcookie() fallará y devolverá FALSE. Si setcookie() se ejecuta con éxito, devolverá TRUE. Esto no indica si el usuario aceptó la cookie.

jamarchi

Gracias Azielito,

Entonces.... esto quiere decir que no puedo hacer lo que intento hacer ?, soy nuevo en esto de las cookies y como me sirvio en mi maquina pense que me iba a servir en el servidor.  :huh:

Como lo puedo solucionar

Gracias

Hans el Topo

usando sesiones en vez de cookies xD para estos temas las sesiones son más flexibles
 

Azielito

y, segun me dicen, tambien son mas seguras :D

jamarchi

muchas gracias por las respuesta, pero..... que es eso de seciones, no las habia escuchado, tienen algun ejemplo de como se usan ?

Gracias

Hans el Topo

bueno yo creo que lo mejor que puedes aprenderte de php es esta página: www.php.net

ahi puedes buscar todo lo relacionado con php y en ello incluyo las funciones de session y tal xD
 

jamarchi

 ok gracias  :D

ahi puedo encontrar información de las sesiones ?

Alguno de ustedes no puede postear algun ejemplo ? si son tan amables.....

gracias  ;D