Primer consejo:
quita todos los "@" mientras estés desarrollando el programa. Te está escondiendo cualquier error que MySQL peuda estar devolviendo y eso NO DEBE PASAR EN ESTA ETAPA del trabajo.
NUNCA.
Segundo: Ten cuidado con el uso de apóstrofos (') y comillas (") cuando las metas en una consulta. No se usan exactamente del mismo modo en PHP que en MySQL, y puedes obtener errores indetectables, si el servidor de MySQL no está configurado de una forma determinada.
Tercero: No confundas
asignación en PHP ( = ) con
comparación (==). No son la misma cosa.
Cuarta (sugerencia): no ejecutes las queries directamente en MySQL. Carga primero una variable con ella para poder luego verificar lo que contiene y comprobar si quedó bien escrita.
Limpiando un poco probemos esto:
Código PHP:
Ver original<?php
require_once('./config/funciones.php');
conectar('mysql13.000webhost.com', 'a6612376_sergiof', 'Sergivilla1', 'a6612376_users');
//Recibir
$repw = strip_tags($_POST['passwordsignup_confirm']); $ip = $_SERVER['REMOTE_ADDR'];
$activado = "0";
//verificando la variable.
echo 'El usuario ' . $user . ' ya existe.';
header("refresh: 4; url=./register.html"); } else {
$sql = "INSERT INTO users (user, pass, mail, codigo, activado, ip)";
$sql .= "'".$ip ."')";
// Verificando la variable.
if ($meter) {
$para = $mail; //hace referencia a la variable email...
$titulo = "Activar cuenta";
$mensaje = 'Para activar la cuenta, es necesario entrar en este enlace: http://ofserker.netai.net/verificar.php?codigo=$key' . "\r\n";
$cabeceras = 'MIME-Version: 1.0' . "\r\n";
$cabeceras .= 'Content-type: text/plain; charset=iso-8859-1' . "\r\n";
$email = mail('$para', '$titulo', '$mensaje', '$cabeceras');
if ($email) {
echo "Usuario " . $user . " creado con éxito. Enviando un mail a <strong>$mail</strong> que luego deberás aceptar";
header("refresh: 8; url=./index.php"); } else {
echo 'Hubo un error en el registro';
header("refresh: 4; url=./index.php"); }
}
}
?>