Foros del Web » Programando para Internet » PHP »

ayuda con bd y php

Estas en el tema de ayuda con bd y php en el foro de PHP en Foros del Web. Hola amigos del foro, les cuento que tengo una bd con php y mysql donde es usada como agenda personal. El problema es que yo ...
  #1 (permalink)  
Antiguo 03/08/2005, 21:08
 
Fecha de Ingreso: agosto-2005
Mensajes: 61
Antigüedad: 12 años, 4 meses
Puntos: 0
ayuda con bd y php

Hola amigos del foro, les cuento que tengo una bd con php y mysql donde es usada como agenda personal. El problema es que yo puedo agregar contactos iguales sin ningun problema, se podria obviar eso???

o sea a ver si me explico, quisiera que cuando agrego un contacto a la bd, si este existe aparezca un mensaje "el contacto ya existe en la bd" y no se agregue otra vez.

se que se puede hacer pero no se como hacerlo, soy novato en esto.

Les dejo la web por si quieren mirar su funcionamiento
http://usuarios.lycos.es/iguanas69

user: admin
pass: 12345

y les dejo el codigo que uso para agregar contactos a mi bd

acontactos.php

Código:
<?

include ("inicio.php");

// Alta de contactos


// Armo una coneccion al servidor mysql
$coneccion = mysql_connect($host_db, $usuario_db, $pass_db);
mysql_select_db($base_db, $coneccion);



if ($REQUEST_METHOD<>"POST")
{
   // Busco todos los contactos disponibles
   $sql = "select * from datos";
   $result = mysql_query($sql, $coneccion);

?>

<p>&nbsp;</p>
<p>&nbsp;</p>

<form method="POST" action="acontactos.php">
  <table border="0" width="100%" height="82">
    <tr>
      <td width="100%" colspan="2" bgcolor="#FFB340" height="21">
      <font face="Tahoma" size="2"><b>&nbsp;<font color="#FFFFFF"> [ Agregar Datos 
      a la BD ]</font></b></font></td>
    </tr>
    <tr>
      <td width="30%" height="25">
        &nbsp;</td>
      <td width="70%" height="25">&nbsp;</td>
    </tr>
    <tr>
      <td width="30%" height="25">
        <p align="right"><b><font face="Tahoma" size="2">Mail: </font></b> </td>
      <td width="70%" height="25"><font face="Tahoma"><b>
      <input type="text" name="mail" size="32" maxlength="30"></b></font></td>
    </tr>
    <tr>
      <td width="30%" height="25">
        <p align="right"><b><font face="Tahoma" size="2">Pass:</font></b></td>
      <td width="70%" height="25"><font face="Tahoma"><b>
      <input type="text" name="pass" size="32" maxlength="30"></b></font></td>
    </tr>
    <tr>
      <td width="30%" height="1"></td>
      <td width="70%" height="1"></td>
    </tr>
    <tr>
      <td width="30%" height="1"></td>
      <td width="70%" height="1">
      <input type="submit" value="Guardar en BD" name="enviar"></td>
    </tr>
  </table>
</form>
<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<?
}

else

{
    // Insertamos los datos
    
   // Armo el insert
   $sql = "insert into datos (id_numero, mail, pass)
           values ('$id_numero', '$mail', '$pass') ";
   $result = mysql_query($sql, $coneccion);
   
   if (!mysql_error())
    {
        echo "<b>El dato $mail ha sido agregado exitosamente !<br>";
    }
   else
    {
        echo "<b>ERROR al agregar el Contacto - ". mysql_errno().":". mysql_error()."<br>";
    }
    
    
}

include("pie.php");

?>
muchas gracias
chugus
  #2 (permalink)  
Antiguo 04/08/2005, 01:28
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 12 años, 10 meses
Puntos: 10
Buenas,
tienes q hacer una comprobacion antes de insertar los datos... es decir una cosnulta para comprobar q el mail existe o no...
Código PHP:
//Miramos q el mail no exista...
$str "Select mail FROM datos
WHERE mail=$mail;
$res = mysql_query($str);
$numeroReg=mysql_num_rows($res);
if($numeroReg==0)
{
     $sql = "
insert into datos (id_numeromailpass)
           
values ('$id_numero''$mail''$pass'";
     $result = mysql_query($sql, $coneccion);

}else{
un mensaje de q ya existe

un cosa mas... si tienes el id_numero autonumerico eel insert quedaria asi:

Código PHP:
//Miramos q el mail no exista...
$str "Select mail FROM datos
WHERE mail=$mail;
$res = mysql_query($str);
$numeroReg=mysql_num_rows($res);
if($numeroReg==0)
{
     $sql = "
insert into datos (id_numeromailpass)
           
values ('''$mail''$pass'";
     $result = mysql_query($sql, $coneccion);

}else{
un mensaje de q ya existe

__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #3 (permalink)  
Antiguo 04/08/2005, 01:41
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
FAQ: http://www.forosdelweb.com/showpost....&postcount=154

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #4 (permalink)  
Antiguo 04/08/2005, 14:49
 
Fecha de Ingreso: agosto-2005
Mensajes: 61
Antigüedad: 12 años, 4 meses
Puntos: 0
muchas gracias, mi bd ahora funcina correctamente....

dejo el cod final

saludos!
chugus

Código:
<?
}

else

{
$busqueda= mysql_query("SELECT mail FROM datos WHERE mail='$mail'"); 


if(mysql_num_rows($busqueda)>0) { // ó " !=0 " como se quiera ver 

      echo "El nombre de usuario no se encuentra disponible. Por favor intente con otro.<br>"; 
      echo "<a href=%22javascript:history.back()/%22>Regresar</a>"; 
} else { 

      mysql_query("INSERT INTO datos(mail, pass) VALUES ('$mail', '$pass')"); 
      echo "$user ha sido registrado."; 
    
    
}
}

include("pie.php");

?>
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 22:23.