Foros del Web » Programando para Internet » PHP »

necesito solucion para este codigo

Estas en el tema de necesito solucion para este codigo en el foro de PHP en Foros del Web. Buenas noches mis amigos, necesito ayuda en una parte de este codigo en la que verificamos si el email existe en la base de datos ...
  #1 (permalink)  
Antiguo 30/04/2011, 23:26
 
Fecha de Ingreso: abril-2007
Mensajes: 26
Antigüedad: 17 años
Puntos: 0
necesito solucion para este codigo

Buenas noches mis amigos, necesito ayuda en una parte de este codigo
en la que verificamos si el email existe en la base de datos de mi sistema exactamente donde empieza la variable "$sql_check_num". detallo el problema: cuando accedo a este script desde el navegador siempre me imprime el mensaje "El e-mail xxxxxxxxx no fue encontrado en nuestra base de datos" este mesaje solo deberia imprimirse si no encuentra el correo en mi base de datos he intentado usar isset pero no obtengo ningun resultado espero ayuda por favor muchas gracias mis amigos.


Código PHP:
<?php


function Conectarse() 

   if (!(
$link=mysql_connect("localhost","usuario","password"))) 
   { 
      echo 
"Error conectando a la base de datos."
      exit(); 
   } 
   if (!
mysql_select_db("nombre_bbdd",$link)) 
   { 
      echo 
"Error seleccionando la base de datos."
      exit(); 
   } 
   return 
$link


?>
<p>
<table width="80%"  border="0" align="center">
    <tr>
      <td colspan="2">
<?
$email 
=  $_POST["email"];
$link=Conectarse(); 

$result=mysql_query("select * from usuarios WHERE `e-mail` = '$email'",$link);

if (!
$result) {
      echo(
"<p>Error al seleccionar tabla: " mysql_error() . "</p>");
      exit();
    }

//Chekeamos si existe el email
$sql_check_num mysql_num_rows($result);   
if(
$sql_check_num == 0){
    
echo 
"<table width='467'><tr><td><font color=ff0000 face=verdana>El e-mail <b >$email</b> no fue encontrado en nuestra base de datos</font></br><center></table><p>";

?>

<form action="lostpassword.php" method="post" name="datos" id="datos">
  <table width="50%"  border="0" align="center">
    <tr>
      <td colspan="2" class="Texto">A continuaci&oacute;n escriba su direcci&oacute;n de correo electr&oacute;nico a la cual llegar&aacute; su login y password de nuevo. </td>
    </tr>
    <tr>
      <td width="10%">&nbsp;</td>
      <td width="90%">&nbsp;</td>
    </tr>
    <tr>
      <td class="Texto">Email:</td>
      <td><input name="email" type="text" id="email"></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit" value="Enviar"></td>
    </tr>
  </table>
</form>
<?
exit();
}

// Si va todo bien sacamos todo de la base de datos
    
while ( $row mysql_fetch_array($result) ) {
      
$correo $row["e-mail"];
      
$contrasena $row ["password"];
      
$nombres $row ["nombre"];
      
$apellidos $row ["apellidos"];
      
$usuario $row ["usuario"];
}

// creamos el email 
$denombre="Administrador del Sistema";
//$deemail="[email protected]";
//$sfrom="[email protected]"; //cuenta que envia
//$sBCC="[email protected]"; //me envio una copia oculta
$sdestinatario="$correo"//cuenta destino
$ssubject="Datos de su cuenta en el Sistema"//subject
$shtml="Estimado $nombres $apellidos la presente es para comunicarle su Login y Password para ingresar al Sistema despu&eacute;s de haber extraviado el m&eacute;todo de acceso:<br><p>Ud esta registrado en nuestro sistema con los siguientes datos:<p>Nombres: $nombres<br>Apellidos: $apellidos<br>  Email: $correo</p><p>El login y password para entrar correctamente al sistema son los siguientes:<p>Login: $usuario<br>Password: $contrasena<br></p><p>Recuerde guardar este correo en un lugar seguro dentro de sus archivos personales.</p><p>Para ingresar al Sistema lo puede hacer por los momentos en:</p><p><a href='http://www.sistema.com'>http://www.sistema.com</a></p>Atte:<br></p><p>Andinistas<br><a href='mailto:[email protected]'>[email protected]</a><br>Webmaster del Sistema</p>";
$encabezados  "MIME-Version: 1.0\n";
$encabezados .= "Content-type: text/html; charset=iso-8859-1\n";
$encabezados .= "From: $denombre <$deemail>\n";
$encabezados .= "X-Sender: <$sfrom>\n";
//$encabezados .= "BCC: <$sBCC>\n";
$encabezados .= "X-Mailer: PHP\n";
$encabezados .= "X-Priority: 1\n"
//$encabezados .= "Return-Path: <$sfrom>\n";
mail($sdestinatario,$ssubject,$shtml,$encabezados);

//le decimos al usuario que fue enviado su password 
//y que vaya rapido a revisar su correo electronico

echo  ("<table width='467'><tr><td class='texto'>El Login y password de tu cuenta ha sido enviado al siguiente correo: $email</a></td><tr></table>");

?>
<p><br><p><br><p><br><p style="text-align:center;"><a href='javascript:window.close();'>CERRAR</a><p></table>
  #2 (permalink)  
Antiguo 30/04/2011, 23:32
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Respuesta: necesito solucion para este codigo

Ehh te falta en el conectar poner usuario pass y la base de datos que queres elegir.. o lo cambiaste vos?
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra
  #3 (permalink)  
Antiguo 30/04/2011, 23:52
Avatar de fekaa11  
Fecha de Ingreso: abril-2011
Ubicación: Córdoba / Argentina
Mensajes: 115
Antigüedad: 13 años
Puntos: 34
Respuesta: necesito solucion para este codigo

Código PHP:
Ver original
  1. $cadena = Select * from usuarios WHERE e-mail = '$email';
  2. $conexion = mysql_query($cadena);
  3. if(mysql_num_rows($conexion) == 0){
  4.     echo "No existe el e-mail";
  5. }else{
  6.     echo "El email existe";
  7. }

Prueba así a ver que te devuelve. Fíjate que los parámetros de la DB estén bien puestos y que los nombres de la tabla concuerden con los que tienes en la DB.

Saludos !
__________________
Pedir perdón es de hombres inteligentes. Perdonar es de sabios.

Etiquetas: solucion
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 15:36.