Problemas con PHP

Buenos días, antes que nada me gustaría agradecer lo que hacen los expertos de esta página ayudando a la gente que quiere seguir sus pasos, me parece algo maravilloso.
Mi problema es que estoy creando mi primera página PHP, en la que una persona debe insertar su usuario y contraseña o, si lo ha insertado en una página anterior, mostrar un mensaje de bienvenida.
Pero a la hora de mostrar lo se muestra una página en blanco (desde mozilla he mirado el código de la página y esta vacío) sin embargo, si quito el código PHP de la página funciona bien.
Aquí inserto el código PHP:
----------
<?php
if(isset($_COOKIE["id"]){
$id=$_COOKIE["id"];
$conection=mysql_connect("localhost","seldaiendi","sel")
or die ('Error al conectarse con el servidor');
$db=mysql_select_db("produce",$conection)
or die ('Error al seleccionar la base de datos');
$query="SELECT nick FROM users WHERE id=$id";
$result=mysql_query($query)
or die("Consulta fallida: " . Mysql_error());
echo 'Bienvenido ' . $result . '<br>Haz <a href="funciones/borrarcookie.php">Clik Aquí</a> para cerrar la sesion.';
}else{ */
?>
<form action=../?precokie.php? Method=?post? Name=?login?>
<table width=?122?>
<tr><td>Usuario:</td></tr>
<tr><td><input name="user" type="text" size="15"></td></tr>
<tr><td>Contraseña:</td></tr>
<tr><td height="32" valign="top"><input name="pass" type="password" size="15"></td></tr>
<tr><td><input type="submit" name="submit" value="Entrar"></td></tr>
</table>
</form> <!--Formulario para iniciar sesion-->
<?php
}
mysql_close($conection);
?>
-----------
La dirección es "http://sel.shinranet.com/php.php"
¿Podrían ayudarme?
Desde ya, Gracias
Sel

1 respuesta

Respuesta
1
Haber mira este código creo que es lo que quieres:
Espero te sirva ;)
NOTA: Este archivo trabaja junto el COOKIE2.php ya que este sirve para cuando el valor de la cookie es vacío y haga la búsqueda y cree por primera vez la cookie.
-----------------------------
-----------------------------
CODE COOKIE1.php
<html>
<head>
<title>Documento sin título</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
if (isset($_COOKIE['saludo']))
{
$connection = mysql_connect("localhost","","");
mysql_select_db("ewex5990",$connection);
//HACES LA BUSQUEDA DEL USUARIO
$valor_cookie=$_COOKIE['saludo'];
$sql = "SELECT * FROM t_usuarios Where Usuario='$valor_cookie'";
$resultado = mysql_query($sql,$connection)
or die ("NO SE HA CONCECTADO A BD");
$numero_filas = mysql_num_rows($resultado)
//SI NO HAY RESULTADO DE BUSQUEDA REDIRECCIONAS AL FORMULARIO
or die("EL USUARIO NO COINCIDE
<form action=COOKIE2.php? method=post name=login>
<table width=122>
<tr><td>Usuario:</td></tr>
<tr><td><input name=user type=text size=15></td></tr>
<tr><td>Contraseña:</td></tr>
<tr><td height=32 valign=top><input name=pass type=password size=15></td></tr>
<tr><td><input type=submit name=submit value=Entrar></td></tr>
</table>
</form>");
While ($fila = mysql_fetch_array($resultado))
{
$userbd=$fila["Usuario"];
}
echo "Bienvenido: ".$userbd;
}
else{
echo "<form action=COOKIE2.php? method=post name=login>
<table width=122>
<tr><td>Usuario:</td></tr>
<tr><td><input name=user type=text size=15></td></tr>
<tr><td>Contraseña:</td></tr>
<tr><td height=32 valign=top><input name=pass type=password size=15></td></tr>
<tr><td><input type=submit name=submit value=Entrar></td></tr>
</table>
</form>";
}
?>
</body>
</html>
Atentamente. Aztekasilex
Muchísimas gracias, ni te imaginas cómo te lo agradezco.
Sel
Gracias, pero lo que en realidad me gustaría es que la página primero compruebe si ya existe la cookie con el numero de identificación del usuario.
Si existe, que muestre un saludo, si no existe que muestre el formulario.
Me imagino que lo que quieres es tener como una especie de sesión con las cookies, si esto es correcto te envío los archivos para que puedas hacerlo.
El COOKIE.php.- Es tu formulario.
El COOKIE2.php.- Es donde buscas a tu usuario y si lo encuentras creas la cookie y si no lo regresas al Formulario.
El COOKIe3.php.- Es solo la simulación del ingreso a alguna página si hay una cookie te la imprime y sino te regresa al formulario para que ingreses de forma correcta.
Nota: Prueba primero el COOKIE3.PHP para que veas como funciona.
Espero te sirva... Aunque yo te recomendaría que usaras las session de php. :)
------------------------------
------------------------------
------------------------------
CODE COOKIE.php
<?php
//Poner la cookie en ceros
setcookie("saludo","",0);
?>
<html>
<head>
<title>Documento sin título</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form action=COOKIE2.php? method=post name=login>
<table width=?122?>
<tr><td>Usuario:</td></tr>
<tr><td><input name="user" type="text" size="15"></td></tr>
<tr><td>Contraseña:</td></tr>
<tr><td height="32" valign="top"><input name="pass" type="password" size="15"></td></tr>
<tr><td><input type="submit" name="submit" value="Entrar"></td></tr>
</table>
</form> <!--Formulario para iniciar sesion-->
</body>
</html>
------------------------------
------------------------------
CODE COOKIE2.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin título</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
$connection = mysql_connect("localhost","","");
mysql_select_db("tu_bd",$connection);
//HACES LA BUSQUEDA DEL USUARIO
$sql = "SELECT * FROM tu_tabla Where Usuario='$user' AND Contrasena='$pass'";
$resultado = mysql_query($sql,$connection)
or die ("NO SE HA CONCECTADO A BD");
$numero_filas = mysql_num_rows($resultado)
//SI NO HAY RESULTADO DE BÚSQUEDA REDIRECCIONAS AL FORMULARIO
or die("EL USUARIO O PASSWORD NO COINCIDE SERA REDIRECCIONADO EN 5SEG <BR>
<html><head><meta http-equiv='refresh' content='2; url=COOKIE.php'></head><body></body></html>");
While ($fila = mysql_fetch_array($resultado))
{
$userbd=$fila["Usuario"];
}
//SI LA VAR DEL FORMULARIO ES IGUAL AL ARROJADO POR LA CONSULTA CREAS LA COOKIE
if ($user == $userbd)
{
echo "SON IGUALES Y CREO COOKIE"."<br>";
//Creo Cookie
setcookie("saludo", $userbd,time() + 3600);
//Imprimo Cookie
echo "Bienvenido: ".$_COOKIE['saludo']."<br>";
echo "<a href=COOKIE3.php> Entrar a Web </A>";
}
?>
</body>
</html>
------------------------------
------------------------------
CODE COOKIE3.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin título</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
//SOLO VALIDAS SI HAY COOKIE LA IMPRIMES SINO REDIRECCIONAS A FORMULARIO
if (isset($_COOKIE['saludo']))
{
echo "La cookie creada tiene valor: ".$_COOKIE['saludo']."<br>";
}
else{
echo "NO HA CREADO COOKIE SERA REDIRECCIONADO A LOGIN EN 5SEG
<html><head><meta http-equiv='refresh' content='2; url=COOKIE.php'></head><body></body></html>";
}
?>
</body>
</html>
Atentamente. Aztekasilex

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas