Ver Mensaje Individual
  #45 (permalink)  
Antiguo 08/02/2008, 17:05
carlous
 
Fecha de Ingreso: febrero-2008
Mensajes: 21
Antigüedad: 16 años, 3 meses
Puntos: 1
Re: que significan estos errores?

login:

<?php
//antes que nada y verificando que antes de <?php no existan caracteres ni espacios iniciarmos session_start();
session_start();

//ahora validamos los campos
//aqui lo haremos manual porque solo son dos campos
if (empty($_POST["user"])) {
$error=urlencode('Tienes que indicar un usuario');
header("location: iniciar_sesion.php?error=".$error);
exit;
}

if (empty($_POST["pass"])) {
$error=urlencode('Tienes que indicar un a contraseña');
header("location: iniciar_sesion.php?error=".$error);
exit;
}

//ahora incluimos el archivo config.php que tiene la conexion a mysql
include("file:///C|/Users/carlos/Desktop/config.php");

//ahora que ya validamos los campos hay que validar el usuario y contraseña en la db
$usuario = addslashes($_POST["user"]);
$pass = addslashes($_POST["pass"]);

$sql=mysql_query("select * from tabla_usuarios where usuario = '".mysql_real_escape_string($usuario)."' and pass = '".mysql_real_escape_string($pass)."'",$conexio n) or die (mysql_error());

//validamos si el usuario existe y si la contraseña es correcta
if (mysql_num_rows($sql) == 0) {
$error=urlencode('El usuario o contraseña son erroneos');
header("loction: iniciar_sesion.php?error=".$error);
exit;
}

//ahora que vemos que el usuario en verdad existe y que su contraseña es la correcta iniciamos la sesion
$_SESSION["user"] = $usuario;
//aqui encriptaremos la contraseña por seguridad, ahora, cuando quieran utilizar
//o validar de nuevo la contraseña solo tienen que hacer un $pass = base64_decode($_SESSION["pass"]);
$_SESSION["pass"] = base64_encode($pass);

//y ahora solo queda reedirigir al usuario a otra pagina
header("location: index.php");
?>

registrar:


<?php
//validamos que no nos regresen ningun campo basios
//aqui recojemos todas las variables que bienen por post
$variables = $_POST;

//ahora como guardamos todas las variables post en la variable $variables como un array
//tenemos ahora que separar y validar una por una
foreach($variables as $variable => $valor) {
//como no queremos validar el boton aqui filtramos las variables a validar
if ($variable != 'button') {
//ahora validamos que las variables no esten basias
if (empty($valor)) {
//ahora mandamos el mensaje de error y regresamos al formulario registro
$error = urlencode('No has indicado un valor en el campo '.$variable);
header("location: registro.php?error=".$error);
//como les comente en un mensaje en el foro, despues de un header(location tiene que hacer
//un exit para que php no continue ejecutando el codigo restante
exit;
}
}
}

//ahora incluimos el archivo config.php que tiene la conexion a mysql
include("file:///C|/Users/carlos/Desktop/config.php");

//ahora que ya validamos que ningun campo este basio pasemos al registro

//primero incluimos el archivo config.php que tendra la conexion a mysql

//primero validamos si existe el usuario
//pero antes de hacer la consulta sql hay que limpiar la variable
$usuario = addslashes($_POST["user"]);
//ahora realizamos la consulta
$sql=mysql_query("select * from usuarios where user = '".mysql_real_escape_string($usuario)."'",$conexio n) or die (mysql_error());

//validamos si existe un usuario
if (mysql_num_rows($sql) != 0) {
$error=urlencode('El usuario indicado ya existe, por favor indica otro');
header("location: registro.php?error=".$error);
exit;
}

//ahora como estamos seguros que el usuario es unico pasamos a validar su contraseña
if ($_POST["pass"] != $_POST["pass2"]) {
$error=urlencode('Las contraseñas indicadas no son iguales.');
header("location: registro.php?error=".$error);
exit;
}

//ahora validamos el email
if (!ereg("([a-zA-Z0-9\._]+)\@([a-zA-Z0-9\.-]+)\.([a-zA-Z]{2,4})$",$email)){
$error=urlencode('El email indicado no es valido.');
header("location: registro.php?error=".$error);
exit;
}

//como el registro en este punto ya paso todas las validaciones podemos ingresarlo en la base de datos
$sql_txt = "insert into usuarios (
user,
pass,
email) values (
'".mysql_real_escape_string(addslashes($_POST["user"]))."',
'".mysql_real_escape_string(addslashes($_POST["pass"]))."',
'".mysql_real_escape_string(addslashes($_POST["email"]))."')";

//ahora hacemos al consutla a mysql
mysql_query($sql_txt,$conexion) or die (mysql_error());

//ahora el registro ya se llevo a acabo, ahora solo queda reedirigir al usuario a otra pagina
header("location: index.php");
?>


registro:


<!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>Documento sin t&iacute;tulo</title>
</head>

<body>
<!-- Este es el codigo para el formulario de registro -->
<?php
//ahora aqui verificamos si existe la variable $_GET["error"] para mandar un mensaje de error
if (isset($_GET["error"])) {
echo '<p>'.urldecode($_GET["error"]).'</p>';
}
?>
<form id="form1" name="form1" method="post" action="file:///C|/Users/carlos/Desktop/registrar.php">
<label for="user">Usuario</label>

<input type="text" name="user" id="user" />
<p>
<label for="pass">Contrase&ntilde;a</label>
<input type="password" name="pass" id="pass" />
</p>
<p>
<label for="pass2">Confirmar contrase&ntilde;a</label>
<input type="password" name="pass2" id="pass2" />
</p>
<p>
<label for="email">Correo electronico</label>
<input type="text" name="email" id="email" />
</p>
<p>
<label for="button"></label>
<input type="submit" name="button" id="button" value="Enviar" />
</p>
</form>
</body>
</html>


config:


<?php
$mysql_usuario = 'i5280269'; //su usuario de mysql
$mysql_pass = 'fc97a6e50turm'; //la contraseña de mysql
$mysql_server = 'imysql04'; //el url del server, normalmente es localhost
$mysql_db = 'i5280269'; //nombre de la base de datos

$conexion = mysql_connect($mysql_server,$mysql_usuario,$mysql_ pass) or die (mysql_error());
mysql_select_db($mysql_db,$conexion);
?>

iniciar seccion:

<!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>Documento sin t&iacute;tulo</title>
</head>

<body>
<?php
//ahora aqui verificamos si existe la variable $_GET["error"] para mandar un mensaje de error
if (isset($_GET["error"])) {
echo '<p>'.urldecode($_GET["error"]).'</p>';
}
?>
<form id="form1" name="form1" method="post" action="file:///C|/Users/carlos/Desktop/login.php">
<label for="user">Usuario</label>

<input type="text" name="user" id="user" />
<p>
<label for="pass">Contrase&ntilde;a</label>
<input type="password" name="pass" id="pass" />
</p>
<p>
<label for="button"></label>
<input type="submit" name="button" id="button" value="Iniciar sesion" />
</p>
</form>
</body>
</html>

posdata: creo que este foro se ha extendido mucho y comprendere si ya estas cansado de participar en el mismo. sinembargo gracias por ayudadr tanto