Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/10/2007, 19:55
B4l4
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Crear registro de usuarios

hola buenas despues de buscar mucho he encontrado un tutorial en esta misma web peor me da algunos probelmas que no se como solucionarlos:

Se compone de 3 archivos:


REGISTRAR.php:

<?php
session_start(); // Inicio de sessión

include("conect-bdd.php"); // conexion a la base de datos

function quitar($mensaje) {
$mensaje = str_replace("<","&lt;",$mensaje);
$mensaje = str_replace(">","&gt;",$mensaje);
$mensaje = str_replace("\'","'",$mensaje);
$mensaje = str_replace("\'","&quot;",$mensaje);
$mensaje = str_replace("\\\\'","\;",$mensaje);
return $mensaje;
}

if(trim($_POST["nick"]) != "" && trim($_POST["email"]) != "") {
$sql = "SELECT id FROM usuarios WHERE nick='".quitar($_POST["nick"])."'";
$result = mysql_query($sql);
if($row = mysql_fetch_array($result)) {
echo 'Error, nick escogido por otro usuario <br> <a href="registrar.html?'. SID .'">Registro</a>';
} else {
$sql = "INSERT INTO usuarios (nick,password,nombre,email) VALUES (";
$sql .= "'".quitar($_POST["nick"])."'";
$sql .= ",md5('".quitar($_POST["password"])."')";
$sql .= ",'".quitar($_POST["nombre"])."'";
$sql .= ",'".quitar($_POST["email"])."'";
$sql .= ")";
mysql_query($sql);
echo 'Registro exitoso! <br> <a href="inicio.html?'. SID .'">Index</a>';
}
mysql_free_result($result);
} else {
echo 'Debe llenar como minimo los campos de email y password <br> <a href="registrar.html?'. SID .'">Registro</a>';
}
mysql_close();
?>


INGRESAR.php


<?php
session_start(); // Inicio de sessión

include("conect-bdd.php"); // conexion a la base de datos

$sid = md5(SID);
$loginCorrecto = false;
$i = 1;

function quitar($mensaje) {
$mensaje = str_replace("<","&lt;",$mensaje);
$mensaje = str_replace(">","&gt;",$mensaje);
$mensaje = str_replace("\'","'",$mensaje);
$mensaje = str_replace('\"',"&quot;",$mensaje);
$mensaje = str_replace("\\\\","&#92",$mensaje);
return $mensaje;
}
if(trim($_POST["nick"]) != "" && trim($_POST["password"]) != "") {
$nickN = quitar($_POST["nick"]);
$passN = quitar($_POST["password"]);
$result = mysql_query("SELECT nick, identificador, password FROM usuarios WHERE nick='$nickN'");
$row = mysql_fetch_array($result);
if($row["nick"] == $nickN) {
if($row["password"] == md5($passN)) {
$nickN = quitar($_POST["nick"]);
$passN = quitar($_POST["password"]);
$result = mysql_query("SELECT nick, password FROM usuarios WHERE nick='$nickN'");
$row = mysql_fetch_array($result);
$I = settype($row["identificador"], "double");
if ($I == $i) {
$loginCorrecto = true;
mysql_free_result($result);
}
else {
$loginCorrecto = false;
mysql_free_result($result);
}
if($loginCorrecto) {
echo gettype($loginCorrecto);
?> <SCRIPT LANGUAGE="javascript">location.href ="inicio2.html?<? echo SID ?>";</SCRIPT> <?
}
else {
echo 'El sistema no lo ha identificado, solo los usuarios registrados tienen acceso a este area <br>
<a href="registrar.html?'. SID .'">registrate</a> <br>
<a href="inicio.html?'. SID .'">login</a>';
}
}
else {
echo 'Password incorrecto <br> <a href="inicio.html?">Login</a>';
}
}
else {
echo 'Usuario no existente en la base de datos <br> <a href="inicio.html'. SID .'">Login</a>';
}
}
else {
echo 'Debe especificar un nick y password <br> <a href="inicio.html?">Login</a>';
}
mysql_close();
?>


LOG-OUT.php

//AQUI ESTA logout.php
<?php // Inicio de sessión
session_start();

include("conect-bdd.php")

// Cambiamos de la base de datos el valor aleatorio de la cookie por si acaso fue robada
$sql = "UPDATE usuarios SET
sid = '".md5(rand(0,time()))."',
identificador = '".md5(rand(0,time()))."',
ultima_visita = NOW()
Where
id = "'".$_SESSION['id']."'";
mysql_query($sql) or die (mysql_error());

//Destruimos las cookies.
setcookie("usNick","x",time()-3600);
setcookie("usPass","x",time()-3600);
setcookie("Acepta","x",time()-3600);

// Destruimos la sesión
session_destroy();




Los errores que me dan son los siguientes:

Al ejecutar registrar.php me aparece esto:


Conexión con la base de datos conseguida.
Debe llenar como minimo los campos de email y password
Registro


--> le doy a registro y no me encuentra la url...


Al ejecutar ingresar.php me aparece esto:


Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/www/termop.awardspace.com/ingresar.php:2) in /home/www/termop.awardspace.com/ingresar.php on line 3

Conexión con la base de datos conseguida.
Debe especificar un nick y password
Login

--> le doy a login y no me redirecciona a ningun sitio....


y por ultimo el log-out.php en el que me aparece esto:
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/www/termop.awardspace.com/logout.php on line 13

Y tampoco se como solucionarlo :(


Si alguien me pudiera ayudar le estaria eternamente agradecido!

Última edición por B4l4; 21/10/2007 a las 20:02