Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

¿Cómo unir varias funciones?

Estas en el tema de ¿Cómo unir varias funciones? en el foro de Mysql en Foros del Web. Hola: Tengo poca experiencia en este mundillo. Mi pregunta es la siguiente: Tengo un formulario html y el registro en php. En esta última, tengo ...
  #1 (permalink)  
Antiguo 25/10/2011, 14:52
 
Fecha de Ingreso: octubre-2011
Mensajes: 160
Antigüedad: 12 años, 6 meses
Puntos: 2
Pregunta ¿Cómo unir varias funciones?

Hola: Tengo poca experiencia en este mundillo. Mi pregunta es la siguiente: Tengo un formulario html y el registro en php. En esta última, tengo una consulta hecha (SELECT)donde me dice, de mi tabla "usuarios", si ya existen usuarios (que es un campo) con el mismo nombre y tiene que ingresar otro diferente. Me gustaría hacer lo mismo con el campo "email", pero no sé cómo, he probado varias cosas y no funcionan.
Por otra parte, tengo 3 tablas relacionadas: "usuarios","animal" y "fotos". Tengo los 3 INSERT hechos, pero no sé cómo relcionarlos, por lo que ahora mismo, sólo me ingresa en la 1ª tabla ("usuarios"). ¿Alguien me puede echar una mano? Muchas gracias de antemano,éste es el código (si aparecen separaciones entre palabras, es un problema al pegar el código, no es un error real):

<?php
include("conexion.php");
function formRegistro(){
?>

<?php

}
// verificamos si se han enviado ya las variables necesarias.
{
$usuario = $_POST['usuario'];
$contrasenna = $_POST['contrasenna'];
$repcontrasenna = $_POST['repcontrasenna'];
$email = $_POST['email'];
$nombre = $_POST['nombre'];
$nombreamo = $_POST['nombreamo'];
$raza = $_POST['raza'];
$telefono = $_POST['telefono'];
$edad = $_POST['edad'];
$sexo = $_POST['sexo'];
$provincia = $_POST['provincia'];
$link=Conectarse();



// Hay campos en blanco

if($usuario=="" || $contrasenna=="" || $repcontrasenna=="" || $email=="" || $nombre=="" || $nombreamo=="" || $raza=="" || $telefono=="" || $edad=="" || $sexo=="" || $provincia=="") {
echo "un campo está vacio.";
formRegistro();
}else{
// ¿Coinciden las contraseñas?
if($contrasenna!=$repcontrasenna) {
echo "Las contraseñas no coinciden";
formRegistro();
}else{



$usuario = trim($_POST['usuario']);
$contrasenna = $_POST['contrasenna'];
$email = $_POST['email'];

$sql_chk = mysql_query("SELECT usuario FROM usuarios WHERE usuario='$usuario'",$link) or die(mysql_error());
if(mysql_num_rows($sql_chk)==0){

} else {

print "<script>window.location.href='registro.html'; </script>";

}





mysql_query("INSERT INTO usuarios (usuario, contrasenna, ciudad, email, nombreamo, telefono, provincia) VALUES ('$usuario','$contrasenna','$ciudad','$email','$no mbreamo','$telefono','$provincia')",$link);

mysql_query("INSERT INTO animal (nombre, raza, edad, sexo, pedigri) VALUES ('$nombre','$raza','$edad','$sexo','$pedigri')",$l ink);

mysql_query("INSERT INTO fotos (foto) VALUES ('$foto')",$link);


echo 'El usuario '.$usuario.' ha sido registrado de manera satisfactoria.<br />';
echo 'Ahora puede entrar ingresando su usuario y su password<br />';


?>

//Un formulario de login, que aparecera despues de el registro fue exitoso

<FORM ACTION="comprobar.php" METHOD="post">
Usuario : <INPUT TYPE="text" NAME="usuario" SIZE=20 MAXLENGTH=20><br />
Password: <INPUT TYPE="password" NAME="password" SIZE=10 MAXLENGTH=10><br />
<INPUT TYPE="submit" VALUE="Ingresar">
</FORM>
<?php

}
}
}

?>
  #2 (permalink)  
Antiguo 28/10/2011, 08:14
Avatar de tomark4  
Fecha de Ingreso: septiembre-2007
Mensajes: 154
Antigüedad: 16 años, 7 meses
Puntos: 29
Respuesta: ¿Cómo unir varias funciones?

Esta es una idea de como lo podrias hacer, creas una funcion llamada comprobar y le pasas dos valores $campo que puede ser usuario o mail y el $valor que es lo que recoges del formulario el te regresa un numero que si encontro datos sera mayor a cero.

luego lo asignas a una variable y compruebas si es mayor que cero es pq ya existe y lo reenvias al formulario o a la pagina que quieras.

cualquier cosa me avisas.
Código PHP:
Ver original
  1. <?php
  2. function conexion($server="localhost",$user="root",$pass="admin",$dbname='intranet'){
  3.     $ln = mysql_connect($server,$user,$pass) or die(mysql_error());
  4.     mysql_select_db($dbname) or die(mysql_error());
  5. }
  6.  
  7. function comprobar($campo, $valor){
  8.     $sql = "select count(*) from usuarios where ".$campo ." = '".$valor."'";
  9.     $rs = mysql_query($sql) or die(mysql_error());
  10.     $c = mysql_num_rows($rs);
  11.     return $c;
  12. }
  13. conexion();
  14. $validarEmail = comprobar("email",'".$_POST[email]."');
  15. if ($validarEmail >0){
  16.     echo "<script>alert('El email ya esta registrado en la base de datos');window.location.href='http://www.google.com';</script>";
  17. }
  18. $validarUsuario = comprobar("username",'".$_POST[username]."');
  19. if ($validarUsuario >0){
  20.     echo "<script>alert('El Usuario ya esta registrado en la base de datos');window.location.href='http://www.google.com';</script>";
  21. }
  22. ?>
__________________
"Todos somos ignorantes, pero no todos ignoramos las mismas cosas"

http://www.pctec21.blogspot.com
http://www.pctec21.com
  #3 (permalink)  
Antiguo 06/11/2011, 04:13
 
Fecha de Ingreso: octubre-2011
Mensajes: 160
Antigüedad: 12 años, 6 meses
Puntos: 2
Respuesta: ¿Cómo unir varias funciones?

Muchas gracias!!!

Etiquetas: campos, php, query, select, sql, tabla
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 20:19.