Necesito un codigo php

Hola tengo un formulario de registro que me funciona perfectamenta, la cuestion es que necesitaria meterle un codigo php para que no me puedan enviar el mismo email y url porque cuando camvias el nombre en el formulario te lo pueden enviar vacio y separado el gmail url etc.
este es el codigo.

<?php
include("config.php") ;
@mysql_connect($server, $db_user, $db_pass) or die ("error1".mysql_error());
@mysql_select_db($database) or die ("error2".mysql_error());
@mysql_query ("INSERT INTO USUARIOS(`NOMBRE`, `EMAIL`, `URL`, `ESTADO`) VALUES ('$_POST', '$_POST[correo eliminado]', '$_POST', '$_POST')");
?>

e probado con este para el email no me da ningun error pero tampoco hace ningun efecto y necesito otro para la url .

if (!@eregi("^[a-zA-zO-9_]+@[a-zA-zO-9\-]+\.[a-zA-zO-9\-\.]+~", $email))
{ echo "Revise que todos sus datos sean los correctos gracias por registrarse en nuestra web";
exit;
}

y lo e puesto asi

<?php
include("config.php") ;
@mysql_connect($server, $db_user, $db_pass) or die ("error1".mysql_error());
@mysql_select_db($database) or die ("error2".mysql_error());
@mysql_query ("INSERT INTO USUARIOS(`NOMBRE`, `EMAIL`, `URL`, `ESTADO`) VALUES ('$_POST', '$_POST[correo eliminado]', '$_POST', '$_POST')");
if (!@eregi("^[a-zA-zO-9_]+@[a-zA-zO-9\-]+\.[a-zA-zO-9\-\.]+~", $email))
{ echo "Revise que todos sus datos sean los correctos gracias por registrarse en nuestra web";
exit;
}
?>

aver si alguiem me puede ayudar con esto.
o qiuizas esto lo podria hacer en la tabla del formulario.
hola

seria decirle.. en php que:
primero verifique en la base de datos, si ya hay un email igual
si es asi.... que diga el error

de lo contrario que proceda......

bien mona yo verdad????, lo interesante seria como decirle en codigos...
me daré una vuelta por la red, a ver que encuentro

recuerdo que.... en el curso de formularios.... decia que... al poner el campo nombre como primaria
no permite que se escriba el nombre dos veces...
y si pones el campo mail como primario??????

saludos
Glacias YAneth eso ya lo havia pensado de ponerlo en la tabla pero no estaba seguro tener que tocar hay con lo que me a costado lo del formulario y conectarlo con la base de datos lo probare en la tabla un saludo.
Hola Yaneth despues de estar un buen rato y cambiar cosas en la tabla no sirve ni primary ni unque para este fin.
creo que hay que hacer codigo php el formulario de las lecciones hay que reforzarlo es muy deficiente es una base, pero hay que mejorarlo de momento que no puedan enviarnos formularios en blanco, que las url de email y url web no las puedan enviar separandolas asi http://www. hhhh.com y mas cosas.
Esto sería un código para insertar datos en la base de datos:
<?php 

include("config.php"); 

// connect to the mysql server
$link = mysql_connect($server, $db_user, $db_pass)
or die ("Could not connect to mysql because ".mysql_error());

// select the database
mysql_select_db($database)
or die ("Could not select database because ".mysql_error());

[COLOR="red"]// check if the username is taken
$check = "select id from $table where [COLOR="lime"]email[/COLOR] = '".$_POST['[COLOR="lime"]email[/COLOR]']."';"; 
$qry = mysql_query($check)
or die ("Could not match data because ".mysql_error());
$num_rows = mysql_num_rows($qry); 
if ($num_rows != 0) { 
echo "ERROR: El email especificado ya está siendo usando.<br />";
echo "Intenta registrarte de nuevo usando otro email";
exit; 
} else {[/COLOR]

// insert the data
$insert = mysql_query("insert into $table values ('NULL', '".$_POST['username']."', '".$_POST['password']."', '".$_POST['name1']."', '".$_POST['name2']."', '".$_POST['email']."', '".$_POST['website']."', 'images/avatar.jpg')")
or die("Could not insert data because ".mysql_error());

// print a success message
echo "Your user account has been created!<br>"; 
echo "Now you can <a href=login.html>log in</a>"; 
}

?>

Guiándonos por eso, vemos que hay esta parte en el código:
// check if the username is taken
$check = "select id from $table where [COLOR="red"]email[/COLOR] = '".$_POST['[COLOR="red"]email[/COLOR]']."';"; 
$qry = mysql_query($check)
or die ("Could not match data because ".mysql_error());
$num_rows = mysql_num_rows($qry); 
if ($num_rows != 0) { 
echo "ERROR: El email especificado ya está siendo usado.<br />";
echo "Intenta registrarte de nuevo usando otro email";
exit; 
} else {

Sólo tienes que cambiar lo que está en rojo por el campo de la tabla en el que están los emails de los usuarios
El código lo tienes que poner antes de cuando se insertan los datos en la base de datos, incluyendo el } else {

(Si tengo algún error corregidme, que a mí esto... no me sale muy bien jejeje)
tengo algo... que no se si funcione

esto sirve para que no te manden campos en blanco
if (empty($email)) $error .= "No has introducido tu dirección de e-mail";
if (empty($name)) $error .= "No has introducido tu nombre";
if (empty($poblacion)) $error .="Por favor indica tu ubicación";
if (empty($texto)) $error .="Por favor igrese su mensaje";

y de poner los campos como primaria... solo debes elejir uno, no puedes tener dos primarias
(creo
Sí, en la tabla sólo puede haber 1 campo primario

El código que puse aun no lo probé, pero lo saqué de un código de registro que hacía esa función de mirar si ya estaba repetido, pero con el nombre de usuario, sólo hay que modificarlo para que mire el campo de email en vez de el de usuario
francisco1 escribió:Hola tengo un formulario de registro que me funciona perfectamenta, la cuestion es que necesitaria meterle un codigo php para que no me puedan enviar el mismo email y url porque cuando camvias el nombre en el formulario te lo pueden enviar vacio y separado el gmail url etc.
este es el codigo.

<?php
include("config.php") ;
@mysql_connect($server, $db_user, $db_pass) or die ("error1".mysql_error());
@mysql_select_db($database) or die ("error2".mysql_error());
@mysql_query ("INSERT INTO USUARIOS(`NOMBRE`, `EMAIL`, `URL`, `ESTADO`) VALUES ('$_POST', '$_POST[correo eliminado]', '$_POST', '$_POST')");
?>

e probado con este para el email no me da ningun error pero tampoco hace ningun efecto y necesito otro para la url .

if (!@eregi("^[a-zA-zO-9_]+@[a-zA-zO-9\-]+\.[a-zA-zO-9\-\.]+~", $email))
{ echo "Revise que todos sus datos sean los correctos gracias por registrarse en nuestra web";
exit;
}

y lo e puesto asi

<?php
include("config.php") ;
@mysql_connect($server, $db_user, $db_pass) or die ("error1".mysql_error());
@mysql_select_db($database) or die ("error2".mysql_error());
@mysql_query ("INSERT INTO USUARIOS(`NOMBRE`, `EMAIL`, `URL`, `ESTADO`) VALUES ('$_POST', '$_POST[correo eliminado]', '$_POST', '$_POST')");
if (!@eregi("^[a-zA-zO-9_]+@[a-zA-zO-9\-]+\.[a-zA-zO-9\-\.]+~", $email))
{ echo "Revise que todos sus datos sean los correctos gracias por registrarse en nuestra web";
exit;
}
?>

aver si alguiem me puede ayudar con esto.
o qiuizas esto lo podria hacer en la tabla del formulario.

Bueno esto es demasiado facil, el codigo del email no te funciona porque no lo estas utilizando como deberia ser, lo que haces es insertar los datos sin comprobar nada y despues comprobar si el email es correcto, y bueno aqui se omitiria su funcion, el codigo de Doodleo, (que aparentemente lo saco del registro de Mzstudios). Como bien dice, estaria bien aplicarlo aqui para hacer la comprobacion si el email existe. Al igual Yaneth el codigo que proporciono sirve para verificar is hay campos vacios, entonces juntando todo eso , tendriamos el archivo php listo, lo he adaptado a una forma mas facil y optimizando el pequeño codigo haciendolo acorde a los datos que proporciono el usuario francisco1.

/*
**************************************
*COPYRYGHT(C) 2011 CCTW by cesar_ed  *
**************************************
*/
$us = $_POST['usuario']; //El nombre de usuario ingresado en el formulario
  $url = $_POST['url']); //La url que ingreso en el formulario
  $email = $_POST['email']; // El email
  $estado = $_POST['estado']; //El estado
 //Utilizamos el codigo que nos proporciono Yaneth
//Si olvido ingresar el nombre de usuario
   if(empty($us))
   {
//Le mostramos el mensaje de error
     echo 'Ops, olvidaste ingresar tu nombre de usuario';
}
//Si olvido ingresar la url
 else if (empty($url))
{
//Mensaje de error
  echo 'Haz olvidado ingresar tu url';
}
//Si olvido ingresar su email
 else if (empty($email))
{
//Mensaje de error
  echo 'Haz olvidado ingresar tu email';
}
//Si olvido ingresar el estado
 else if (empty($estado))
{
  echo 'Haz olvidado ingresar tu estado';
	 }
	else {
//Nos conectamos a la bd
mysql_connect("SERVIDOR","USUARIO","CLAVE");
mysql_select_db("TU BASE DE DATOS");
//verificamos si el usuario ya existe en la bd 
//Partimos del codigo de DOODLEO
//Lo modifico y a verificar
  $obtener_usuario = mysql_query("SELECT * FROM usuarios WHERE NOMBRE ='".$us."'") or die(mysql_error());
//Contamos los registros , si existe 1 o mas es que ya esta registrado
	$contar = mysql_num_rows($obtener_usuario);
	if( $contar >= 1)
	{
//Mostramos mensaje de error
	echo '<p style="color:red">No puedes registrarte ya que el usuario <span style="color:blue">'.$us.'</span> ya esta en uso, por favor elige otro.</p>';
	}
//Ahora comprobemos que el email sea valido, usando el codigo que proporciono francisco1 , pero modificado.
//Este codigo lo que hace es verificar, que exista el punto(.) y el arroba (@), en el email
//Vaya si en realidad hubiera hecho el codigo creo que ya no preguntaria jeje
//Cuando aprendemos no paramos de copiar, pero despues se nos quitara xD
 else if (!@eregi("^[a-zA-zO-9_]+@[a-zA-zO-9\-]+\.[a-zA-zO-9\-\.]+~", $email))
{
 echo 'Vaya, el email introducido no es correcto, intenta a verificar';
}
	else {
  //Hacemos la misma comprobacion del usuario si existe pero con el email
	$obtener_correo = mysql_query("SELECT * FROM usuarios WHERE EMAIL='".$email."'") or die (mysql_error());
	$contar_correo = mysql_num_rows($obtener_correo);
	if($contar_correo >= 1)
	{
//El correo existe ya en la base de datos, mostramos el mensaje de error
	echo '<p style="color:red">No puedes registrarte ya que el correo <span style="color:blue">'.$email.'</span> ya esta en uso, por favor elige otro.</p>';
	}
	else {
 //Paso todas las pruebas!! a insertar los datos!.
   $insertar = mysql_query("INSERT INTO usuarios(USUARIO,URL,EMAIL,ESTADO)
    VALUES ('".$us."','".$url."','".$email."','".$estado."')") or die(mysql_error());
    echo 'Te has registrado correctamente';
	}
}
}
Y listo.
PD : Si les salta algun error , es porque todo lo programe desde aqui cctw, y a lo mejor un errorsillo de comas o algo asi reportenlo.

PD2: Si les sirvio o les parecio bueno el aporte pueden puntuar mi mensaje abajo de la firma :D

Saludos
Es facil programar "Solo interesate en aprender"
Hola DOOD y YANETH aver si podemos crear un formulario con buenas funciones poco a poco cojere esos codigos y los probare gracias amigos/as
francisco1 escribió:Hola DOOD y YANETH aver si podemos crear un formulario con buenas funciones poco a poco cojere esos codigos y los probare gracias amigos/as

Vaya creo que te he ganado por 1 minuto, me di la tarea de crear uno , pruebalo y dime si funciona xD
Es facil programar "Solo interesate en aprender"
Gracias por tu ayuda cesar_ed eres bueno o muy bueno en esto del php programacion etc no se be muchos que sepan de php y todo esto de la programacion web por cctw.
francisco1 escribió:Gracias por tu ayuda cesar_ed eres bueno o muy bueno en esto del php programacion etc no se be muchos que sepan de php y todo esto de la programacion web por cctw.

Gracias, si hay varios usuarios muy buenos en esto tambien, puedes visitarnos en el foro de php y mysql jeje.

He encontrado un pequeño error a simple vista, y esta en uno de los empty, lo modifico.
Es facil programar "Solo interesate en aprender"
*
**************************************
*COPYRYGHT(C) 2011 CCTW by cesar_ed *
**************************************
*/
$us = $_POST['usuario']; //El nombre de usuario ingresado en el formulario
$url = $_POST['url']; //La url que ingreso en el formulario
$email = $_POST['email']; // El email
$estado = $_POST['estado']; //El estado
//Utilizamos el codigo que nos proporciono Yaneth
//Si olvido ingresar el nombre de usuario
if(empty($us))
{
//Le mostramos el mensaje de error
echo 'Ops, olvidaste ingresar tu nombre de usuario';
}
//Si olvido ingresar la url
else if (empty($url))
{
//Mensaje de error
echo 'Haz olvidado ingresar tu url';
}
//Si olvido ingresar su email
else if (empty($email))
{
//Mensaje de error
echo 'Haz olvidado ingresar tu email';
}
//Si olvido ingresar el estado
else if (empty($estado))
{
echo 'Haz olvidado ingresar tu estado';
}
else {
//Nos conectamos a la bd
mysql_connect("SERVIDOR","USUARIO","CLAVE");
mysql_select_db("TU BASE DE DATOS");
//verificamos si el usuario ya existe en la bd
//Partimos del codigo de DOODLEO
//Lo modifico y a verificar
$obtener_usuario = mysql_query("SELECT * FROM usuarios WHERE NOMBRE ='".$us."'") or die(mysql_error());
//Contamos los registros , si existe 1 o mas es que ya esta registrado
$contar = mysql_num_rows($obtener_usuario);
if( $contar >= 1)
{
//Mostramos mensaje de error
echo '<p style="color:red">No puedes registrarte ya que el usuario <span style="color:blue">'.$us.'</span> ya esta en uso, por favor elige otro.</p>';
}
//Ahora comprobemos que el email sea valido, usando el codigo que proporciono francisco1 , pero modificado.
//Este codigo lo que hace es verificar, que exista el punto(.) y el arroba (@), en el email
//Vaya si en realidad hubiera hecho el codigo creo que ya no preguntaria jeje
//Cuando aprendemos no paramos de copiar, pero despues se nos quitara xD
else if (!@eregi("^[a-zA-zO-9_]+@[a-zA-zO-9\-]+\.[a-zA-zO-9\-\.]+~", $email))
{
echo 'Vaya, el email introducido no es correcto, intenta a verificar';
}
else {
//Hacemos la misma comprobacion del usuario si existe pero con el email
$obtener_correo = mysql_query("SELECT * FROM usuarios WHERE EMAIL='".$email."'") or die (mysql_error());
$contar_correo = mysql_num_rows($obtener_correo);
if($contar_correo >= 1)
{
//El correo existe ya en la base de datos, mostramos el mensaje de error
echo '<p style="color:red">No puedes registrarte ya que el correo <span style="color:blue">'.$email.'</span> ya esta en uso, por favor elige otro.</p>';
}
else {
//Paso todas las pruebas!! a insertar los datos!.
$insertar = mysql_query("INSERT INTO usuarios(USUARIO,URL,EMAIL,ESTADO)
VALUES ('".$us."','".$url."','".$email."','".$estado."')") or die(mysql_error());
echo 'Te has registrado correctamente';
}
}
}



Esta perfecto solo tenia un pequeño fallo haora esta bien no da ningun error GRACIAS EINSTEIN GRACIAS DOOD GRACIAS YANETH.
Sí cesar, lo cogí del que publicó un usuario en el foro, me sirve mucho ^^