Gracias man! Ahora tengo otra duda, esta si no tengo casi idea, ya funciona y todo pero ahoraa lo que quiero hacer es comprobar que los caracteres escritos sean los mismos de la imagen, pero no se como hacerle, estos son mis codigos:
reg.php
Código PHP:
<?php
include('config.php'); //incluimos el config.php que contiene los datos de la conexión a la db
$ip = $_SERVER['REMOTE_ADDR'];
$cadena = "";
for ($i = 0; $i < 10; $i++)
$cadena .= chr(rand(65, 90));
if (! isset($_SESSION['usuario'])) //comprobamos que no existe la session, es decir, que no se ha logeado, y mostramos el form
{
?>
<form action="registrar.php" method="POST">Usuario:<br>
<input type="text" name="nick" size="30"><br>
Password:<br>
<input type="password" name="pass" size="30"><br>
Repite password:<br>
<input type="password" name="pass1" size="30"><br>
Email:<br>
<input type="text" name="email" size="30"><br>
Apellidos:<br>
<input type="text" name="apellidos" size="30"><br>
Nombre:<br>
<input type="text" name="nombre" size="30"><br>
Edad:<br>
<input type="text" name="edad" size="30"><br>
Link de tu imagen(incluyendo http://):<br>
<input type="text" name="avatar" size="30"><br>
Mensaje personal:<br>
<textarea name="rollo" cols="30" rows="10"></textarea><br>
Antispam: <br><img src="antispam.php?texto=<?php
echo $cadena?>" alt=""> </br>
Inserta el codigo de arriba:<br>
<input type="text" name="antispam" size="30"><br>
<input
type="submit" name="submit" value="Enviar"></form>
<?php
echo "Beneficios del registro:<br>";
echo "Podras añadir las letras de tus canciones favoritas<br>";
echo "Podras añadir bases<br>";
echo "Tendras un perfil personalizado<br>";
} else {
echo "No te puedes registrar si has iniciado sesion";
}
?>
registrar.php
Código PHP:
<?
function getRealIP() {
if ($_SERVER['HTTP_X_FORWARDED_FOR'] != '') {
$client_ip =
(!empty($_SERVER['REMOTE_ADDR']) ) ?
$_SERVER['REMOTE_ADDR'] :
( (!empty($_ENV['REMOTE_ADDR']) ) ?
$_ENV['REMOTE_ADDR'] :
"unknown" );
$entries = split('[, ]', $_SERVER['HTTP_X_FORWARDED_FOR']);
reset($entries);
while (list(, $entry) = each($entries)) {
$entry = trim($entry);
if (preg_match("/^([0-9]+.[0-9]+.[0-9]+.[0-9]+)/", $entry, $ip_list)) {
$private_ip = array(
'/^0./',
'/^127.0.0.1/',
'/^192.168..*/',
'/^172.((1[6-9])|(2[0-9])|(3[0-1]))..*/',
'/^10..*/');
$found_ip = preg_replace($private_ip, $client_ip, $ip_list[1]);
if ($client_ip != $found_ip) {
$client_ip = $found_ip;
break;
}
}
}
} else {
$client_ip =
(!empty($_SERVER['REMOTE_ADDR']) ) ?
$_SERVER['REMOTE_ADDR'] :
( (!empty($_ENV['REMOTE_ADDR']) ) ?
$_ENV['REMOTE_ADDR'] :
"unknown" );
}
return $client_ip;
}
//tomada de desarrolloweb
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])
{
echo 'Las passwords no son iguales';
}else{
//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 = "1"; //usaremos level 1 para admins, level 2 para los demas (se cambia manualmente desde phpmyadmin)
$ip = getRealIP();
//introducimos el nuevo registro en la tabla users
mysql_query("INSERT INTO users (nick,pass,email,level,rollo,apellidos,nombre,edad, avatar, ip) values ('$user','$pass','$email','$level','$rollo', '".$_POST['apellidos']."', '".$_POST['nombre']."', '".$_POST['edad']."', '".$_POST['avatar']."', '$ip') ");
echo 'Usuario registrado con éxito';
}
}
}
?>