elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Ayuda con este código
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con este código  (Leído 3,849 veces)
den_22

Desconectado Desconectado

Mensajes: 69



Ver Perfil
Ayuda con este código
« en: 24 Enero 2010, 17:49 pm »

Hola que tal necesito ayuda, con un código de registro en php, el error que me tira es el siguiente: "Warning: mysql_affected_rows() [function.mysql-affected-rows]: A link to the server could not be established in C:\wamp\www\index.php on line 58"

La linea 58 es esta :

Código:
if(mysql_affected_rows()==1) {

Ahora el código completo:

Código:
<?php
if (isset($_POST['submitted'])) {

    $errors = array ();
        require_once ('mysql_connect.php');
}




if (eregi('^[[:alnum:]\.\'\-]{4,30}$', stripslashes(trim($_POST['username']))) ) {
   
    $user= mysql_real_escape_string($_POST['username']);
    $query="SELECT username FROM users WHERE username = '$user'";
    $result=mysql_query($query);
    $num=mysql_num_rows($result);



   
    if($num> 0) {
        $errors[] = '<font color="red">The username you have chosen has already been taken, please try again.</font>';
    } else {
        $username =mysql_real_escape_string($_POST['username']);
    }
  } else {
        $errors[]='<font color="red">Please provide a valid username between 4 and 30 characters.</font>';
       
        }


if (!eregi('^[a-zA-Z]+[a-zA-Z0-9_-]*@([a-zA-Z0-9]+){1}(\.[a-zA-Z0-9]+)
{1,2}', stripslashes(trim($_POST['email'])) )) {
        $errors[]= '<font color="red">Please provide a valid email adress.</font>';
        } else {
            $email=mysql_real_escape_string($_POST['email']);
       
        }

if(!empty($_POST['password1'])) {
    if($_POST['password1'] != $_POST['password2']){
        $errors[]='<font color="red">The 2 passwords you have entered do not match.</font>';
        } else {
            $password=$_POST['password1'];
        }
    } else {
        $errors[]='<font color ="red">Please provide a password.</font>';
    }


if(empty($errors)) {
            $a=md5(uniqid(rand(),true));
        $query="INSERT INTO users (username, email, password, active) VALUES ('$username','$email', SHA('$password'), '$a')";
       
       
        $result= mysql_query($query);
        }
        if(mysql_affected_rows()==1) {
       
                //Send the E-Mail
               
                $body="Thank you for registering at the User Registration Site.To activate your account, please click on this link:\n\n";
                $body.="http://www.whateveraddressyouwantthere.com/activate.php?x=" . mysql_insert_id() . "&y=$a";
               
                    mail($_POST['email'], 'Registration Confirmation', $body, 'From:contactoweb@writeme.com');
                   
                   
                        //Show thank message
               
                echo '<h3>Thank You!</h3>
               
                You have been registered, you have been sent an e-mail to the address you specified before.Please check your e-mails to activate your
account. ';
                } else {
               
                    echo '<font color="red">You could not be registered, please contact us about the problem and we will fix it as soon as we can.</font>';

    }
   

?>
<html>
<head>
</head>
<body>
<h3>Register</h3>
<form action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
<p><input type="text" name="username" value="<?php if (isset($_POST['username'])) echo $_POST['username']; ?>" size="30" maxlenght="30" />
<small>Username</small></p>
<p><input type="password" name="password1" size="30" maxlenght="40" />
<small>Password</small></p>
<p><input type="password" name="password2" size="30" maxlenght="40" />
<small>Confirm Password</small></p>

<p><input type="text" name="email" size="30" maxlenght="30" value="<?php if(isset($_POST['mail'])) { echo $_POST['mail']; } ?>" /> <small> Email Address</small></p>

<p><input type="submit" name="submit" value="Register" /></p>
<input type="hidden" name="submitted" value="TRUE" />

</form>
</body>
</html>



Gracias de antemano.


En línea

IWKY

Desconectado Desconectado

Mensajes: 272



Ver Perfil
Re: Ayuda con este código
« Respuesta #1 en: 24 Enero 2010, 20:34 pm »

Hola, prueba de pasarle como parámetro, el resultado de la consulta.
Código
  1. ...
  2. $result= mysql_query($query);
  3.        }
  4.        if(mysql_affected_rows($result)==1) {
  5. ...
  6.  


En línea

Por internet libre http://red-sostenible.net/
El mejor momento de Dragon Ball Z --> Aqui
den_22

Desconectado Desconectado

Mensajes: 69



Ver Perfil
Re: Ayuda con este código
« Respuesta #2 en: 24 Enero 2010, 21:46 pm »

Hola hice lo que me recomendaste, pero me tira el siguiente error: "Warning: mysql_affected_rows(): supplied argument is not a valid MySQL-Link resource in C:\wamp\www\index.php on line 58 ".

Que puedo hacer?

Gracias por responder
En línea

Castg!
Wiki

Desconectado Desconectado

Mensajes: 1.191



Ver Perfil WWW
Re: Ayuda con este código
« Respuesta #3 en: 25 Enero 2010, 00:48 am »

mira, no conozco esa funcion, pero que tal si haces esto:


Código
  1. <?php
  2. if (isset($_POST['submitted'])) {
  3.  
  4.    $errors = array ();
  5.        require_once ('mysql_connect.php');
  6. }
  7.  
  8.  
  9.  
  10.  
  11. if (eregi('^[[:alnum:]\.\'\-]{4,30}$', stripslashes(trim($_POST['username']))) ) {
  12.  
  13.    $user= mysql_real_escape_string($_POST['username']);
  14.    $query="SELECT username FROM users WHERE username = '$user'";
  15.    $result=mysql_query($query);
  16.    $num=mysql_num_rows($result);
  17.  
  18.  
  19.  
  20.  
  21.    if($num> 0) {
  22.        $errors[] = '<font color="red">The username you have chosen has already been taken, please try again.</font>';
  23.    } else {
  24.        $username =mysql_real_escape_string($_POST['username']);
  25.    }
  26.  } else {
  27.        $errors[]='<font color="red">Please provide a valid username between 4 and 30 characters.</font>';
  28.  
  29.        }
  30.  
  31.  
  32. if (!eregi('^[a-zA-Z]+[a-zA-Z0-9_-]*@([a-zA-Z0-9]+){1}(\.[a-zA-Z0-9]+)
  33. {1,2}', stripslashes(trim($_POST['email'])) )) {
  34.        $errors[]= '<font color="red">Please provide a valid email adress.</font>';
  35.        } else {
  36.            $email=mysql_real_escape_string($_POST['email']);
  37.  
  38.        }
  39.  
  40. if(!empty($_POST['password1'])) {
  41.    if($_POST['password1'] != $_POST['password2']){
  42.        $errors[]='<font color="red">The 2 passwords you have entered do not match.</font>';
  43.        } else {
  44.            $password=$_POST['password1'];
  45.        }
  46.    } else {
  47.        $errors[]='<font color ="red">Please provide a password.</font>';
  48.    }
  49.  
  50.  
  51. if(empty($errors)) {
  52.            $a=md5(uniqid(rand(),true));
  53.        $query="INSERT INTO users (username, email, password, active) VALUES ('$username','$email', SHA('$password'), '$a')";
  54.  
  55.  
  56.        $result= mysql_query($query);
  57.        }
  58.        if(!mysql_error) {
  59.  
  60.                //Send the E-Mail
  61.  
  62.                $body="Thank you for registering at the User Registration Site.To activate your account, please click on this link:\n\n";
  63.                $body.="http://www.whateveraddressyouwantthere.com/activate.php?x=" . mysql_insert_id() . "&y=$a";
  64.  
  65.                    mail($_POST['email'], 'Registration Confirmation', $body, 'From:contactoweb@writeme.com');
  66.  
  67.  
  68.                        //Show thank message
  69.  
  70.                echo '<h3>Thank You!</h3>
  71.  
  72.                You have been registered, you have been sent an e-mail to the address you specified before.Please check your e-mails to activate your
  73. account. ';
  74.                } else {
  75.  
  76.                    echo '<font color="red">You could not be registered, please contact us about the problem and we will fix it as soon as we can.</font>';
  77.  
  78.    }
  79.  
  80.  
  81. ?>
  82. <html>
  83. <head>
  84. </head>
  85. <body>
  86. <h3>Register</h3>
  87. <form action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
  88. <p><input type="text" name="username" value="<?php if (isset($_POST['username'])) echo $_POST['username']; ?>" size="30" maxlenght="30" />
  89. <small>Username</small></p>
  90. <p><input type="password" name="password1" size="30" maxlenght="40" />
  91. <small>Password</small></p>
  92. <p><input type="password" name="password2" size="30" maxlenght="40" />
  93. <small>Confirm Password</small></p>
  94.  
  95. <p><input type="text" name="email" size="30" maxlenght="30" value="<?php if(isset($_POST['mail'])) { echo $_POST['mail']; } ?>" /> <small> Email Address</small></p>
  96.  
  97. <p><input type="submit" name="submit" value="Register" /></p>
  98. <input type="hidden" name="submitted" value="TRUE" />
  99.  
  100. </form>
  101. </body>
  102. </html>
  103.  
  104.  

me parece mas practyico ;) suerte y contame omo te va...
En línea

fede_cp


Desconectado Desconectado

Mensajes: 527


"porque pensar nunca fue entender"


Ver Perfil WWW
Re: Ayuda con este código
« Respuesta #4 en: 25 Enero 2010, 02:02 am »

que paciencia tomi, eso si que no lo peudo hacer. ajaja


saludos desde san martin de los andes!

En línea

somos lo que hacemos para cambiar lo que somos

http://elhackerblog.blogspot.com el blog de elhacker.net!!
den_22

Desconectado Desconectado

Mensajes: 69



Ver Perfil
Re: Ayuda con este código
« Respuesta #5 en: 25 Enero 2010, 03:30 am »

mira, no conozco esa funcion, pero que tal si haces esto:


Código
  1. <?php
  2. if (isset($_POST['submitted'])) {
  3.  
  4.    $errors = array ();
  5.        require_once ('mysql_connect.php');
  6. }
  7.  
  8.  
  9.  
  10.  
  11. if (eregi('^[[:alnum:]\.\'\-]{4,30}$', stripslashes(trim($_POST['username']))) ) {
  12.  
  13.    $user= mysql_real_escape_string($_POST['username']);
  14.    $query="SELECT username FROM users WHERE username = '$user'";
  15.    $result=mysql_query($query);
  16.    $num=mysql_num_rows($result);
  17.  
  18.  
  19.  
  20.  
  21.    if($num> 0) {
  22.        $errors[] = '<font color="red">The username you have chosen has already been taken, please try again.</font>';
  23.    } else {
  24.        $username =mysql_real_escape_string($_POST['username']);
  25.    }
  26.  } else {
  27.        $errors[]='<font color="red">Please provide a valid username between 4 and 30 characters.</font>';
  28.  
  29.        }
  30.  
  31.  
  32. if (!eregi('^[a-zA-Z]+[a-zA-Z0-9_-]*@([a-zA-Z0-9]+){1}(\.[a-zA-Z0-9]+)
  33. {1,2}', stripslashes(trim($_POST['email'])) )) {
  34.        $errors[]= '<font color="red">Please provide a valid email adress.</font>';
  35.        } else {
  36.            $email=mysql_real_escape_string($_POST['email']);
  37.  
  38.        }
  39.  
  40. if(!empty($_POST['password1'])) {
  41.    if($_POST['password1'] != $_POST['password2']){
  42.        $errors[]='<font color="red">The 2 passwords you have entered do not match.</font>';
  43.        } else {
  44.            $password=$_POST['password1'];
  45.        }
  46.    } else {
  47.        $errors[]='<font color ="red">Please provide a password.</font>';
  48.    }
  49.  
  50.  
  51. if(empty($errors)) {
  52.            $a=md5(uniqid(rand(),true));
  53.        $query="INSERT INTO users (username, email, password, active) VALUES ('$username','$email', SHA('$password'), '$a')";
  54.  
  55.  
  56.        $result= mysql_query($query);
  57.        }
  58.        if(!mysql_error) {
  59.  
  60.                //Send the E-Mail
  61.  
  62.                $body="Thank you for registering at the User Registration Site.To activate your account, please click on this link:\n\n";
  63.                $body.="http://www.whateveraddressyouwantthere.com/activate.php?x=" . mysql_insert_id() . "&y=$a";
  64.  
  65.                    mail($_POST['email'], 'Registration Confirmation', $body, 'From:contactoweb@writeme.com');
  66.  
  67.  
  68.                        //Show thank message
  69.  
  70.                echo '<h3>Thank You!</h3>
  71.  
  72.                You have been registered, you have been sent an e-mail to the address you specified before.Please check your e-mails to activate your
  73. account. ';
  74.                } else {
  75.  
  76.                    echo '<font color="red">You could not be registered, please contact us about the problem and we will fix it as soon as we can.</font>';
  77.  
  78.    }
  79.  
  80.  
  81. ?>
  82. <html>
  83. <head>
  84. </head>
  85. <body>
  86. <h3>Register</h3>
  87. <form action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
  88. <p><input type="text" name="username" value="<?php if (isset($_POST['username'])) echo $_POST['username']; ?>" size="30" maxlenght="30" />
  89. <small>Username</small></p>
  90. <p><input type="password" name="password1" size="30" maxlenght="40" />
  91. <small>Password</small></p>
  92. <p><input type="password" name="password2" size="30" maxlenght="40" />
  93. <small>Confirm Password</small></p>
  94.  
  95. <p><input type="text" name="email" size="30" maxlenght="30" value="<?php if(isset($_POST['mail'])) { echo $_POST['mail']; } ?>" /> <small> Email Address</small></p>
  96.  
  97. <p><input type="submit" name="submit" value="Register" /></p>
  98. <input type="hidden" name="submitted" value="TRUE" />
  99.  
  100. </form>
  101. </body>
  102. </html>
  103.  
  104.  

me parece mas practyico ;) suerte y contame omo te va...


Buenisimo, muchas gracias por la ayuda. Gracias!!!
En línea

den_22

Desconectado Desconectado

Mensajes: 69



Ver Perfil
Re: Ayuda con este código
« Respuesta #6 en: 25 Enero 2010, 03:43 am »

Me olvidaba, lo probé pero el warning que me tira es el siguiente:

"Deprecated:Function eregi() is deprecated in C:\wamp\www\activation.php on line 11"

"Deprecated: Function eregi() is deprecated in C:\wamp\www\activation.php on line 33"

Alguna sugerencia?
En línea

Castg!
Wiki

Desconectado Desconectado

Mensajes: 1.191



Ver Perfil WWW
Re: Ayuda con este código
« Respuesta #7 en: 25 Enero 2010, 03:56 am »

intenta con preg_match
En línea

jdc


Desconectado Desconectado

Mensajes: 3.406


Ver Perfil WWW
Re: Ayuda con este código
« Respuesta #8 en: 25 Enero 2010, 04:01 am »

Me olvidaba, lo probé pero el warning que me tira es el siguiente:

"Deprecated:Function eregi() is deprecated in C:\wamp\www\activation.php on line 11"

"Deprecated: Function eregi() is deprecated in C:\wamp\www\activation.php on line 33"

Alguna sugerencia?

Te esta diciendo que ereg es obsoleta xD por lo menos en la ultima version de php, en el comienzo del documento pon_

<?php
error_reporting(0);

...

Con eso no te mostrara errores
En línea

den_22

Desconectado Desconectado

Mensajes: 69



Ver Perfil
Re: Ayuda con este código
« Respuesta #9 en: 25 Enero 2010, 15:02 pm »

Muchas gracias, por haberme contestado.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines