![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
07/02/2008, 17:24
|
| | Fecha de Ingreso: enero-2008
Mensajes: 14
Antigüedad: 17 años Puntos: 1 | |
Re: que significan estos errores? se me ha ocurrido una idea, aunque sera como leer la biblia de lo largo que sera lo podre, todo los codigos y script, y me dicen si esta bien ( lo de leer la biblia es broma, soy catolico asi que no piensen mal)
tengo un doc. php llamado registrar con este script:
<?php session_start();
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>
<?
include('config.php'); //incluimos el config.php que contiene los datos de la conexión a la db
//Comprobamos que los campos nick, pass y pass1 se han rellenado en el form de reg.php, sino volvemos al form
if(($_POST[nick] == ' ') or ($_POST[pass] == ' ') or ($_POST[pass1] == ' ') )
{
Header("Location: reg.php"); //enviamos al form de registro que esta en reg.php
}else{
//Comprobamos que la pass y pass1 son iguales, sino, volvemos a reg.php
if($_POST[pass] != $_POST[pass1])
//quitamos el codigo malicioso de $_POST[nick] y $_POST[pass]
$user = stripslashes($_POST["nick"]);
$user = strip_tags($user);
$pass = stripslashes($_POST["pass"]);
$pass = strip_tags($pass);
//comprobamos que el usuario no existe en la db
$usuarios=mysql_query("SELECT nick FROM users WHERE nick='$user' ");
if($user_ok=mysql_fetch_array($usuarios))
{
echo 'El usuario ya esta registrado';
mysql_free_result($usuarios); //liberamos la memoria del query a la db
}else{
//quitamos todo el codigo malicioso de las demas variables del form de registro
$email = stripslashes($_POST["email"]);
$email = strip_tags($email);
$rollo = stripslashes($_POST["rollo"]);
$rollo = strip_tags($rollo);
$rollo = str_replace("\n\r","<br>",$rollo); //se cambian los saltos de linea por <br>
$rollo = str_replace("\r\n","<br>",$rollo);
$rollo = str_replace("\n","<br>",$rollo);
$fecha = time();
$level = "2"; //usaremos level 1 para admins, level 2 para los demas (se cambia manualmente desde phpmyadmin)
//introducimos el nuevo registro en la tabla users
mysql_query("INSERT INTO users (nick,pass,email,fecha,level,rollo) values ('$user','$pass','$email','$fecha','$level','$roll o') ");
echo 'Usuario registrado con éxito';
}
}
?>
otro doc. php llamado reg:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>
<?
include('config.php'); //incluimos el config.php que contiene los datos de la conexión a la db
//Creamos el form k irá a registrar.php para comprobar y introducir los datos a la tabla users
echo '<form action="registrar.php" method="POST">
Nick: <input type="text" name="nick" size="30"><br>
Password: <input type="password" name="pass" size="30" ><br>
Repetir Password: <input type="password" name="pass1" size="30" ><br>
email: <input type="text" name="email" size="50"><br>
Rollo: <textarea name="rollo" cols="30" rows="10"></textarea><br>
<input type="submit" name="submit" value="Enviar"></form>';
?>
otro llamado autentificar
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>
<?
include('config.php'); //incluimos el config.php que contiene los datos de la conexión a la db
if( ($_POST[nick] == ' ') or ($_POST[pass] == ' ') )//comprobamos que las variables enviadas por el form de login.php tienen contenido
{
Header("Location: login.php"); //estan vacías, volvemos al index
}else{
//comprobamos en la db si existe ese nick con esa pass
$usuarios=mysql_query("SELECT * FROM users WHERE nick='$_POST[nick]' and pass='$_POST[pass]' ");
if($user_ok = mysql_fetch_array($usuarios)) //si existe comenzamos con la sesion, si no, al index
{
session_register("usuario"); //registramos la variable usuario que contendrá el nick del user
session_register("idusuario"); //registramos la variable idusuario que contendrá la id del user
session_register("level"); //registramos la variable level que contendrá el level del user
//damos valores a las variables de la sesión
$_SESSION[usuario] = $user_ok["nick"]; //damos el nick a la variable usuario
$_SESSION[idusuario] = $user_ok["id"]; //damos la id del user a la variable idusuario
$_SESSION[level] = $user_ok["level"]; //damos el level del user a la variable level
Header("Location: login.php"); //volvemos al login donde nos saldrá nuestro menú de usuario
}else{
echo 'Nick y pass incorrectos';
}
}
?>
y el config.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>
<?
$msyql_user = 'blabla';
$msyql_pass = 'blabla';
$msyql_server = 'blabla';
$msyql_db = 'blabla';
//conectamos y seleccionamos db
mysql_connect("$dbhost","$dbuser","$dbpass");
mysql_select_db("$db");
luego esta login, logout, pero esas no importa ahora...
si leen esto me sorprenderia...... pero se los agradeceria |