Foros del Web » Programando para Internet » PHP »

PHP OO Porque me da error

Estas en el tema de Porque me da error en el foro de PHP en Foros del Web. Hola, necesito saber porque me da error. Este es un hilo simple ya que no tengo tiempo. Código PHP:  <?php require_once( './config/funciones.php' ); conectar ...
  #1 (permalink)  
Antiguo 22/05/2014, 16:32
 
Fecha de Ingreso: marzo-2014
Mensajes: 168
Antigüedad: 10 años, 1 mes
Puntos: 2
Porque me da error

Hola, necesito saber porque me da error. Este es un hilo simple ya que no tengo tiempo.

Código PHP:
<?php
require_once('./config/funciones.php');
conectar('*****''*****''*****''*****');
 
//Recibir
$user     strip_tags($_POST['usernamesignup']);
$pass     strip_tags(sha1($_POST['passwordsignup']));
$mail     strip_tags($_POST['emailsignup']);
$repw     strip_tags($_POST['passwordsignup_confirm']);
$ip       $_SERVER['REMOTE_ADDR'];
$key      $aleatorio uniqid();
$activado "0";

$query    mysql_query('SELECT * FROM users WHERE user="'.mysql_real_escape_string($user).'"');



if(
$existe mysql_fetch_object($query))
{
    echo 
'El usuario '.$user.' ya existe.';
    
header("refresh: 4; url=./register.html");
}else{
    
 
$meter mysql_query('INSERT INTO users (user, pass, mail, codigo, activado, ip) values 
("'
.mysql_real_escape_string($user).'",
"'
.mysql_real_escape_string($pass).'",
"'
.mysql_real_escape_string($mail).'"
,"'
.mysql_real_escape_string($key).'","'
mysql_real_escape_string($activado).'"
,"'
.$ip.'")'); 
    
}

$para $mail//hace referencia a la variable email...
$titulo "Activar Cuenta";
$mensaje*=*'Debes*activar*tu*cuenta*pulsando*este*enlace:*http://www.ofserker.netai.net/activacion.php?id=$aleatorio';
$cabeceras *= 'MIME-Version: 1.0' "\r\n";
$cabeceras .= 'Content-type: text/plain; charset=iso-8859-1' "\r\n";
$cabeceras .= 'From: Activar cuenta <tucorreo>' "\r\n";
 
mail ($para$titulo$mensaje$cabeceras);
{
echo 
"Usuario <strong>$user</strong> creado con &eacutexito. Enviando un mail a <strong>$mail</strong> que luego deber&aacutes aceptar";
            
header("refresh: 8; url=./index.php");

            
        }else{
            echo 
'Hubo un error en el registro';
            
header("refresh: 4; url=./index.php");
        }
    

?>
Atentamente, OfSerker.

Última edición por Triby; 30/05/2014 a las 18:08 Razón: Asteriscos.
  #2 (permalink)  
Antiguo 22/05/2014, 16:34
 
Fecha de Ingreso: septiembre-2013
Mensajes: 11
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Porque me da error

¿que error te da y donde?

PD: creo que deberías editar el código y borrar la parte donde pones los datos de acceso a tu base de datos, alguien podría usarlos
  #3 (permalink)  
Antiguo 22/05/2014, 16:38
 
Fecha de Ingreso: marzo-2014
Mensajes: 168
Antigüedad: 10 años, 1 mes
Puntos: 2
Respuesta: Porque me da error

Cita:
Iniciado por OfSerker Ver Mensaje
Hola, necesito saber porque me da error. Este es un hilo simple ya que no tengo tiempo.

Código PHP:
<?php 
//Recibir
$user     strip_tags($_POST['usernamesignup']);
$pass     strip_tags(sha1($_POST['passwordsignup']));
$mail     strip_tags($_POST['emailsignup']);
$repw     strip_tags($_POST['passwordsignup_confirm']);
$ip       $_SERVER['REMOTE_ADDR'];
$key      $aleatorio uniqid();
$activado "0";

$query    mysql_query('SELECT * FROM users WHERE user="'.mysql_real_escape_string($user).'"');



if(
$existe mysql_fetch_object($query))
{
    echo 
'El usuario '.$user.' ya existe.';
    
header("refresh: 4; url=./register.html");
}else{
    
 
$meter mysql_query('INSERT INTO users (user, pass, mail, codigo, activado, ip) values 
("'
.mysql_real_escape_string($user).'",
"'
.mysql_real_escape_string($pass).'",
"'
.mysql_real_escape_string($mail).'"
,"'
.mysql_real_escape_string($key).'","'
mysql_real_escape_string($activado).'"
,"'
.$ip.'")'); 
    
}

$para $mail//hace referencia a la variable email...
$titulo "Activar Cuenta";
$mensaje*=*'Debes*activar*tu*cuenta*pulsando*este*enlace:*http://www.ofserker.netai.net/activacion.php?id=$aleatorio';
$cabeceras *= 'MIME-Version: 1.0' "\r\n";
$cabeceras .= 'Content-type: text/plain; charset=iso-8859-1' "\r\n";
$cabeceras .= 'From: Activar cuenta <tucorreo>' "\r\n";
 
mail ($para$titulo$mensaje$cabeceras);
{
echo 
"Usuario <strong>$user</strong> creado con &eacutexito. Enviando un mail a <strong>$mail</strong> que luego deber&aacutes aceptar";
            
header("refresh: 8; url=./index.php");

            
        }else{
            echo 
'Hubo un error en el registro';
            
header("refresh: 4; url=./index.php");
        }
    

?>
Atentamente, OfSerker.
  #4 (permalink)  
Antiguo 22/05/2014, 16:41
 
Fecha de Ingreso: marzo-2014
Mensajes: 168
Antigüedad: 10 años, 1 mes
Puntos: 2
Respuesta: Porque me da error

Lo de los datos son falsos. Estoy con el mobil y a punto de ir a la cama. Porfavor, usa esta web pegando el código. http://phpcodechecker.com/

Gracias por responder, atentamente OfSerker.

Buenas noches!
  #5 (permalink)  
Antiguo 22/05/2014, 16:57
 
Fecha de Ingreso: septiembre-2013
Mensajes: 11
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Porque me da error

si lees lo que te dice la web que me pasaste entenderás el error, te dice que está en la línea 33 y te dice que se ha encontrado un asterisco inesperado, justo donde creas la variable $mensaje

¿porque usas asteriscos? ¿incluso antes de igual ?

además tienes otro error, para que haya un else, primero tiene que haber un if, en tu caso tienes uno, pero ya usas el else justo debajo, no tienes otro if, para el segundo else
  #6 (permalink)  
Antiguo 23/05/2014, 10:47
 
Fecha de Ingreso: marzo-2014
Mensajes: 168
Antigüedad: 10 años, 1 mes
Puntos: 2
Respuesta: Porque me da error

Hola forosdelwebmaniáticos, tengo un grave problema (bug) ya que yo pongo que se envie una direccion conctreta:

Código PHP:
$mensaje "Para activar la cuenta creada en ofserker.netai.net, debe entrar en el siguiente enlace: www.ofserker.netai.net/activacion.php?id=$aleatorio"
¡Si pongo la mostrada anteriormente, el mail no se envia! Si quito la url de mi página web y queda así:

Código PHP:
$mensaje "Para activar la cuenta creada en ofserker.netai.net, debe entrar en el siguiente enlace: 
Si que se envia xd.

Otra cuestión... para que sirve:

Código PHP:
"\r\n"
Código completo:

Código PHP:
<?php
require_once('./config/funciones.php');
conectar('mysql13.00adssgaghost.com''assgg''Sagsaga1''aaggsasers');
 
//Recibir
$user     strip_tags($_POST['usernamesignup']);
$pass     strip_tags(sha1($_POST['passwordsignup']));
$mail     strip_tags($_POST['emailsignup']);
$repw     strip_tags($_POST['passwordsignup_confirm']);
$ip       $_SERVER['REMOTE_ADDR'];
$key      $aleatorio uniqid();
$activado "0";

$query    mysql_query('SELECT * FROM users WHERE user="'.mysql_real_escape_string($user).'"');



if(
$existe mysql_fetch_object($query))
{
    echo 
'El usuario '.$user.' ya existe.';
    
header("refresh: 4; url=./register.html");
}else{
    
 
$meter mysql_query('INSERT INTO users (user, pass, mail, codigo, activado, ip) values 
("'
.mysql_real_escape_string($user).'",
"'
.mysql_real_escape_string($pass).'",
"'
.mysql_real_escape_string($mail).'"
,"'
.mysql_real_escape_string($key).'","'
mysql_real_escape_string($activado).'"
,"'
.$ip.'")'); 
    
}

$para $mail//hace referencia a la variable email...
$titulo "Activar Cuenta";
$mensaje "Para activar la cuenta creada en ofserker.netai.net, debe entrar en el siguiente enlaze: www.ofserker.netai.net/activacion.php?id=$aleatorio";
$cabeceras  'MIME-Version: 1.0' "\r\n";
$cabeceras .= 'Content-type: text/plain; charset=iso-8859-1' "\r\n";
$cabeceras .= 'From: Activar cuenta ofserker.netai.net' "\r\n";
 
$supermail mail($para$titulo$mensaje$cabeceras);

if (
$supermail)
{
echo 
"Usuario <strong>$user</strong> creado con &eacutexito. Enviando un mail a <strong>$mail</strong> que luego deber&aacutes aceptar";
            
header("refresh: 8; url=./index.php");

            
        }else{
            echo 
'Hubo un error en el registro';
            
header("refresh: 4; url=./index.php");
        }
    
//www.ofserker.netai.net/activacion.php?id=$aleatorio
?>
Atentmente, OfSerker
  #7 (permalink)  
Antiguo 23/05/2014, 11:11
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Porque me da error

Los caracteres "\r\n" son retorno de carro y salto de linea respectivamente, ¿jamás has leído un manual de programación básica?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 23/05/2014, 13:20
 
Fecha de Ingreso: marzo-2014
Mensajes: 168
Antigüedad: 10 años, 1 mes
Puntos: 2
Respuesta: Porque me da error

¿Hay algún error en el código para que me pase esto?

Código PHP:
$mensaje "Para activar la cuenta creada en ofserker.netai.net, debe entrar en el siguiente enlace: www.ofserker.netai.net/activacion.php?id=$aleatorio"
¡Si pongo la mostrada anteriormente, el mail no se envia! Si quito la url de mi página web y queda así:


Código PHP:
$mensaje "Para activar la cuenta creada en ofserker.netai.net, debe entrar en el siguiente enlace: 
Si que se envia xd.

Ayudenme con esto para que se envia.
Servidor que uso:
-http://www.000webhost.com/

Atentamente, OfSerker
  #9 (permalink)  
Antiguo 24/05/2014, 08:00
 
Fecha de Ingreso: marzo-2014
Mensajes: 168
Antigüedad: 10 años, 1 mes
Puntos: 2
Respuesta: Porque me da error

Ahora, tengo este error con mi nuevo código (mejorado):

Las contraseñas no coinciden
Error, no se han insertado los datos.
Usuario OfSerker creado con éxito. Enviando un mail a [email protected] que luego deberás aceptar


Os paso el código y decidme porque me sale que no se insertarón los datos i pk la pw no coincide.

Código completo:

Código PHP:
<?php
require_once('./config/funciones.php');
conectar('caca''sese''lele''noleas');
 
//Recibir
$user     strip_tags($_POST['usernamesignup']);
$pass     strip_tags(sha1($_POST['passwordsignup']));
$mail     strip_tags($_POST['emailsignup']);
$repw     strip_tags($_POST['passwordsignup_confirm']);
$ip       $_SERVER['REMOTE_ADDR'];
$key      $aleatorio uniqid();
$activado "0";

$query    mysql_query('SELECT * FROM users WHERE user="'.mysql_real_escape_string($user).'"');
$jlquery    mysql_query('SELECT * FROM users WHERE mail="'.mysql_real_escape_string($mail).'"');


if(
$existe mysql_fetch_object($query))
{
    echo 
'El usuario '.$user.' ya existe<br />';
    
header("refresh: 4; url=./register.html");

}else{

}

if(
$existe mysql_fetch_object($jlquery)) {
    echo 
'El mail '.$mail.' ya está registrado<br />';
    
header("refresh: 4; url=./register.html");

}else{
    
}

if(
$user==NULL|$pass==NULL|$repw==NULL|$mail==NULL

        echo 
"Comprueva todos los campos<br />";
        
header("refresh: 4; url=./register.html");
        
}else{
        
if(
$pass!=$repw) {
         
    echo 
"Las contraseñas no coinciden<br />"
header("refresh: 4; url=./register.html");  
    

}else{
    
$meter mysql_query('INSERT INTO users (user, pass, mail, codigo, activado, ip) values 
("'
.mysql_real_escape_string($user).'",
"'
.mysql_real_escape_string($pass).'",
"'
.mysql_real_escape_string($mail).'"
,"'
.mysql_real_escape_string($key).'","'
mysql_real_escape_string($activado).'"
,"'
.$ip.'")'); 

}

if(!
$meter) {

echo 
'Error, no se han insertado los datos.<br />';

}else{

}
$path="www.ofserker.netai.net/"//creamos nuestra direccion, con las carpetas que sean si hay 
         //armamos nuestro link para enviar por mail en la variable $activateLink 
$activateLink=$path."activacion?id=".$row['key']."&activateKey=".$aleatorio.""
                 
// Datos del email 

$nombre_origen    "OfSerker Web"
$email_origen     "[email protected]"
$email_copia      "[email protected]"
$email_ocultos    "[email protected]"
$email_destino    "".$row['mail']."";   



$asunto           "".$row['user']." Datos de registro en Cevit, guarde este email."

$mensaje          '<table width="629" border="0" cellspacing="1" cellpadding="2"> 
  <tr> 
    <td width="623" align="left"></td> 
  </tr> 
  <tr> 
    <td bgcolor="#2EA354"><div style="color:#FFFFFF; font-size:14; font-family: Arial, Helvetica, sans-serif; text-transform: capitalize; font-weight: bold;"><strong>     Estos son sus datos de registro, '
.$row['user'].'</strong></div></td> 
  </tr> 
  <tr> 
    <td height="95" align="left" valign="top"><div style=" color:#000000; font-family:Arial, Helvetica, sans-serif; font-size:12px; margin-bottom:3px;"> USUARIO: '
.$row['usuer'].'</strong><br><br><br> 
          <strong>SU CLAVE : </strong>'
.$row['pass'].'</strong><br><br><br> 
          <strong>SU EMAIL : </strong>'
.$row['mail'].'</strong><br><br><br> 
          <strong>SU LINK DE ACTIVACION:<br><a href="'
.$activateLink.'">'.$activateLink.' </strong></a><br><br><br> 
          <strong>POR FAVOR HAGA CLICK EN LINK DE ARRIBA PARA ACTIVAR SU CUENRA Y ACCEDER A LA PAGINA SIN RESTRICCIONES</strong><br><br><br> 
          <strong>SI EL LINK NO FUNCIONA A LA PRIMERA INTENTELO UNA SEGUNDA, EL SERVIDOR A VECES TARDA EN PROCESAR LA PRIMERA ORDEN</strong><br><br><br> 
           
          <strong>GRACIAS POR REGISTRARSE EN CEVIT.</strong><br><br><br> 
    </div> 
    </td> 
  </tr> 
</table>'




$formato          "html"

//*****************************************************************// 
$headers  "From: $nombre_origen <$email_origen> \r\n"
$headers .= "Return-Path: <$email_origen> \r\n"
$headers .= "Reply-To: $email_origen \r\n"


$headers .= "X-Sender: $email_origen \r\n"

$headers .= "X-Priority: 3 \r\n"
$headers .= "MIME-Version: 1.0 \r\n"
$headers .= "Content-Transfer-Encoding: 7bit \r\n"

//*****************************************************************// 
//www.ofserker.netai.net/activacion.php?id=$aleatorio

if($formato == "html"
 { 
 
$headers .= "Content-Type: text/html; charset=iso-8859-1 \r\n";  } 
else 
    { 
    
$headers .= "Content-Type: text/plain; charset=iso-8859-1 \r\n";  
    } 


$supermail mail($email_destino$asunto$mensaje$headers);


      } 
            
         
if (
$supermail)
{
echo 
"Usuario <strong>$user</strong> creado con &eacutexito. Enviando un mail a <strong>$mail</strong> que luego deber&aacutes aceptar $direccion";
            
header("refresh: 8; url=./index.php");

}else{
            echo 
'Hubo un error en el registro';
            
header("refresh: 4; url=./index.php");
        }
}

?>
Atentamente, OfSerker.
  #10 (permalink)  
Antiguo 24/05/2014, 10:44
 
Fecha de Ingreso: mayo-2014
Ubicación: mexico
Mensajes: 3
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: Porque me da error

que es lo que quieres hacer porque seria bueno saber para ayudarte hacer lo que quieres independientemente de tu codigo saludos
  #11 (permalink)  
Antiguo 24/05/2014, 11:12
 
Fecha de Ingreso: marzo-2014
Mensajes: 168
Antigüedad: 10 años, 1 mes
Puntos: 2
Respuesta: Porque me da error

Es un registro en el cuál si se registra uno correctamente, se guardan los datos en la BD y seguidamente envia un mail para activación (la activación está en otro archivo).

Gracias por responderme, atentamente OfSerker.
  #12 (permalink)  
Antiguo 28/05/2014, 15:33
 
Fecha de Ingreso: marzo-2014
Mensajes: 168
Antigüedad: 10 años, 1 mes
Puntos: 2
Respuesta: Porque me da error

Reabro el tema.

Hola a todos, quiero que alguien me ayude, me estoy buscando mucho la vida y estoy empezando la casa por el tejado.

Mirad, tengo este código:

Código PHP:
<?php
require_once('./config/funciones.php');
conectar('x');
 
//Recibir
$user     strip_tags($_POST['usernamesignup']);
$pass     strip_tags(sha1($_POST['passwordsignup']));
$mail     strip_tags($_POST['emailsignup']);
$repw     strip_tags($_POST['passwordsignup_confirm']);
$ip       $_SERVER['REMOTE_ADDR'];
$key      $aleatorio uniqid();
$activado "0";

if(
$pass==NULL|$repw==NULL|$mail==NULL) { 
        echo 
"Comprueva todos los campos"
      }else{ 
        
// ¿Coinciden las contraseñas? 
        
if(($_POST['passwordsignup'])!=($_POST['passwordsignup_confirm'])) { 
            echo 
"Las contraseñas no coinciden"
            
        }else{ 
        
$checkuser mysql_query("SELECT user FROM users WHERE user=$user"); 
            
$username_exist mysql_num_rows($checkuser); 
            
$checkemail mysql_query("SELECT mail FROM users WHERE email=$mail"); 
            
$email_exist mysql_num_rows($checkemail); 
            if (
$email_exist>0) { 
                echo 
"La cuenta de correo estan ya en uso"
                 
        }else{ 
                if (
$username_exist>0) { 
                echo 
"El nombre de usuario  esta ya en uso"
                 
                 
                 
            }else{ 
             
 
$meter mysql_query('INSERT INTO users (user, pass, mail, codigo, activado, ip) values 
("'
.mysql_real_escape_string($user).'",
"'
.mysql_real_escape_string($pass).'",
"'
.mysql_real_escape_string($mail).'"
,"'
.mysql_real_escape_string($key).'","'
mysql_real_escape_string($activado).'"
,"'
.$ip.'"'); 

}


$activateLink"http://www.ofserker.netai.neta/"
                 
// Datos del email 

$nombre_origen    "OfSerker Web"
$email_origen     "[email protected]"
$email_copia      "[email protected]"
$email_ocultos    "[email protected]"
$email_destino    "".$row['mail']."";   



$asunto           "".$row['user']." Datos de registro en Cevit, guarde este email."

$mensaje          '<table width="629" border="0" cellspacing="1" cellpadding="2"> 
  <tr> 
    <td width="623" align="left"></td> 
  </tr> 
  <tr> 
    <td bgcolor="#2EA354"><div style="color:#FFFFFF; font-size:14; font-family: Arial, Helvetica, sans-serif; text-transform: capitalize; font-weight: bold;"><strong>     Estos son sus datos de registro, '
.$row['user'].'</strong></div></td> 
  </tr> 
  <tr> 
    <td height="95" align="left" valign="top"><div style=" color:#000000; font-family:Arial, Helvetica, sans-serif; font-size:12px; margin-bottom:3px;"> USUARIO: '
.$row['usuer'].'</strong><br><br><br> 
          <strong>SU CLAVE : </strong>'
.$row['pass'].'</strong><br><br><br> 
          <strong>SU EMAIL : </strong>'
.$row['mail'].'</strong><br><br><br> 
          <strong>SU LINK DE ACTIVACION:<br><a href="'
.$activateLink.'">'.$activateLink.' </strong></a><br><br><br> 
          <strong>POR FAVOR HAGA CLICK EN LINK DE ARRIBA PARA ACTIVAR SU CUENRA Y ACCEDER A LA PAGINA SIN RESTRICCIONES</strong><br><br><br> 
          <strong>SI EL LINK NO FUNCIONA A LA PRIMERA INTENTELO UNA SEGUNDA, EL SERVIDOR A VECES TARDA EN PROCESAR LA PRIMERA ORDEN</strong><br><br><br> 
           
          <strong>GRACIAS POR REGISTRARSE EN CEVIT.</strong><br><br><br> 
    </div> 
    </td> 
  </tr> 
</table>'




$formato          "html"

//*****************************************************************// 
$headers  "From: $nombre_origen <$email_origen> \r\n"
$headers .= "Return-Path: <$email_origen> \r\n"
$headers .= "Reply-To: $email_origen \r\n"


$headers .= "X-Sender: $email_origen \r\n"

$headers .= "X-Priority: 3 \r\n"
$headers .= "MIME-Version: 1.0 \r\n"
$headers .= "Content-Transfer-Encoding: 7bit \r\n"

//*****************************************************************// 
//www.ofserker.netai.net/activacion.php?id=$aleatorio

if($formato == "html"
 { 
$headers .= "Content-Type: text/html; charset=iso-8859-1 \r\n";  } 
   else 
    { 
$headers .= "Content-Type: text/plain; charset=iso-8859-1 \r\n";  } 


$superemail = @mail($email_destino$asunto$mensaje$headers);

       if(
$superemail==1){
           echo 
'Usuario '.$user.' registrado correctamente. Enviando correo a '.$mail.'';
       }
        }
            } 
    }
?>
En él tengo varias dudas y errores.

Cita:
Código PHP:
$checkuser mysql_query("SELECT user FROM users WHERE user=$user"); 
            
$username_exist mysql_num_rows($checkuser); 
            
$checkemail mysql_query("SELECT mail FROM users WHERE email=$mail"); 
            
$email_exist mysql_num_rows($checkemail); 
            if (
$email_exist>0) { 
                echo 
"La cuenta de correo estan ya en uso"
                 
        }else{ 
                if (
$username_exist>0) { 
                echo 
"El nombre de usuario  esta ya en uso"
Este, es el error. No se porque "mysql_num_rows" me da error. Tampoco, no se si funciona este sistema o lo que pasa es que no se insertan los datos. Después, el mail no se le envia al usuario registrado.



Atentamente, OfSerker. Porfavor responded.
  #13 (permalink)  
Antiguo 28/05/2014, 15:45
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Porque me da error

Por favor, aprende a depurar tus consultas, para que entiendas el error que recibes procura imprimir el valor de mysql_error() justo después de ejecutar una consulta.

Es fácil:
Cita:
// BIEN
SELECT algo FROM tabla WHERE campo = 'valor'

// MAL
SELECT algo FROM tabla WHERE campo = valor
En tu caso estás pasando las variables sin escaparlas apropiadamente para su uso en SQL, eso cualquiera que estudie SQL básico lo sabe y tú lo deberías saber.

Código PHP:
Ver original
  1. $checkuser = mysql_query("SELECT user FROM users WHERE user=$user") oe die('ERROR: ' . mysql_error());
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #14 (permalink)  
Antiguo 28/05/2014, 16:27
 
Fecha de Ingreso: marzo-2014
Mensajes: 168
Antigüedad: 10 años, 1 mes
Puntos: 2
Respuesta: Porque me da error

Este sistema de registro, lo he sacado de un tutorial y lo he adaptado (muy poco). Gracias por ayudarme, pero ahora me sale otro error que no logro comprender.



Esperando tu respuesta, atentamente OfSerker.

Última edición por OfSerker; 28/05/2014 a las 16:35
  #15 (permalink)  
Antiguo 28/05/2014, 16:58
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Porque me da error

Al usar mysql_error() obtiene el error de SQL, es decir, que el problema proviene de la consulta de SQL y no del código PHP.

Es decir, PHP lo único que hace es pasar tu consulta de SQL al driver de MySQL y si el SQL está mal entonces por ende dará error.

Tu problema es de SQL, te sugiero estudiar SQL.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #16 (permalink)  
Antiguo 30/05/2014, 10:43
 
Fecha de Ingreso: marzo-2014
Mensajes: 168
Antigüedad: 10 años, 1 mes
Puntos: 2
Respuesta: Porque me da error

Hola, he vuelto a renovar el código. Veo que lo que falla es a la hora de enviar el mail. Aquí te paso el código:

register.php:

Código PHP:
<?php
require_once('./config/funciones.php');
conectar('mysql13.000webhost.com''a6612376_sergiof''Sergivilla1''a6612376_users');
 
//Recibir
$user     strip_tags($_POST['usernamesignup']);
$pass     strip_tags(sha1($_POST['passwordsignup']));
$mail     strip_tags($_POST['emailsignup']);
$repw     strip_tags($_POST['passwordsignup_confirm']);
$ip       $_SERVER['REMOTE_ADDR'];
$key      $aleatorio uniqid();
$activado "0";

if(
$pass==NULL|$repw==NULL|$mail==NULL) { 
        echo 
"Comprueva todos los campos"
      }else{ 
        
// ¿Coinciden las contraseñas? 
        
if(($_POST['passwordsignup'])!=($_POST['passwordsignup_confirm'])) { 
            echo 
"Las contraseñas no coinciden"
            
        }else{ 
        
$query = @mysql_query('SELECT * FROM users WHERE user="'.mysql_real_escape_string($user).'"'); 

if(
$existe = @mysql_fetch_object($query)) 

    echo 
'El usuario '.$user.' ya existe.'
    
header("refresh: 4; url=./register.html");                  
        
        }else{ 
                if (
$username_exist>0) { 
                echo 
"El nombre de usuario  esta ya en uso"
                 
                 
                 
            }else{ 
             
$meter mysql_query('INSERT INTO users (user, pass, mail, codigo, activado, ip) values 
("'
.mysql_real_escape_string($user).'",
"'
.mysql_real_escape_string($pass).'",
"'
.mysql_real_escape_string($mail).'"
,"'
.mysql_real_escape_string($key).'","'
mysql_real_escape_string($activado).'","'.
$ip.'")') or die (mysql_error());

}
                 
//www.ofserker.netai.net/verificar.php?codigo=$aleatorio
$activateLink "http://www.ofserker.netai.net/verificar.php?codigo=$aleatorio";
$miemail '[email protected]';



$to      $_POST['emailsignup'];
$subject 'Activación Cuenta';
$message 'Para activar la cuenta entra al siguiente enlace: '.$activateLink.'';
$headers 'From: '.$miemail.'' "\r\n" .
$headers 'Reply-To: '.$miemail.'' "\r\n" .
    

$supermail mail($to$subject$message$headers);

if(
$superemail==1){
           echo 
'Usuario '.$user.' registrado correctamente. Enviando correo a '.$mail.''."</br>";
           echo 
'Enlace para activar la cuenta '.$activateLink.'';
       }else{
        echo 
'No se ha podido enviar el mail a '.$mail.''."</br>";
                echo 
'Enlace para activar la cuenta '.$activateLink.'';

        
        } 
        }
        }
    }
?>
Aquí te paso el error que me da al usar este register:




Atentamente, OfSerker. Esperando nuevas respuestas...
  #17 (permalink)  
Antiguo 30/05/2014, 10:48
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Porque me da error

Vuelve a revisar tus código, tus variables no coinciden: $supermail vs $superemail específicamente.

Por favor habilita el reporte de errores en tu configuración de PHP, de otra forma errores tan sencillos jamás los verás.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #18 (permalink)  
Antiguo 30/05/2014, 12:54
 
Fecha de Ingreso: marzo-2014
Mensajes: 168
Antigüedad: 10 años, 1 mes
Puntos: 2
Respuesta: Porque me da error

Muchas gracias por ayudarme, eres un crack pero... ¿Porque el mail no me llega al buzón? Ahora todo funciona súper bien. Si quieres registrarte tú y comprobarlo entra a: http://ofserker.netai.net/register.html.

Me gustaría mucho que me ayudarás en enviar el mail y también que veas mi faena.

Atentamente, OfSerker
  #19 (permalink)  
Antiguo 30/05/2014, 13:02
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Porque me da error

El asunto es que PHP no es un servidor de correo, si lees el manual de mail() ahí se explica su funcionamiento, no es responsabilidad de PHP la de enviar correos.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #20 (permalink)  
Antiguo 30/05/2014, 13:14
 
Fecha de Ingreso: marzo-2014
Mensajes: 168
Antigüedad: 10 años, 1 mes
Puntos: 2
Respuesta: Porque me da error

¿Entinces, como hago para que se envie correctamente?
  #21 (permalink)  
Antiguo 30/05/2014, 16:02
 
Fecha de Ingreso: marzo-2014
Mensajes: 168
Antigüedad: 10 años, 1 mes
Puntos: 2
Respuesta: Porque me da error

Me lo he leido enterito y nada, no encuentro en que fallo... Porfavor ayudame a arreglar este error. Siempre me ha pasado este maldito error.

Atentamente, OfSerker
  #22 (permalink)  
Antiguo 30/05/2014, 16:32
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Porque me da error

No es un error de PHP.

Es decir, para enviar correos necesitas de un servidor SMTP configurado en el mismo ambiente para usar mail(), en otro caso podrías usar SwiftMailer o PHPMailer si deseas usar un servidor SMTP externo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #23 (permalink)  
Antiguo 31/05/2014, 03:36
 
Fecha de Ingreso: marzo-2014
Mensajes: 168
Antigüedad: 10 años, 1 mes
Puntos: 2
Respuesta: Porque me da error

He estado leyendo muchos foros. En ellos explicaban que 000webhost tiene desactivado el servicio SMTP. Así que me estoy complicando por nada. Vi uno, que explicaba que se estaba complicando con el PHPmailer. Al final el hombre lo solicionó. ¿Sabes como? Pues usando la función mail() que ofrece php. Porfavor ayudame a que se envie el mail.

Atentamente, Esperando nueva respuesta:
-OfSerker

Etiquetas: html, mysql, registro, select, sql, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:39.