Foros del Web » Programando para Internet » PHP »

Consulta!

Estas en el tema de Consulta! en el foro de PHP en Foros del Web. Hola! , estoy haciendo un formularios para que las personas se registren a mi pagina, entonces tengo un problema que no se como hacer una ...

  #1 (permalink)  
Antiguo 27/07/2006, 21:35
 
Fecha de Ingreso: marzo-2006
Mensajes: 401
Antigüedad: 11 años, 9 meses
Puntos: 1
Consulta!

Hola! , estoy haciendo un formularios para que las personas se registren a mi pagina, entonces tengo un problema que no se como hacer una consulta para revisar si el usuarios esta siendo utilizando y otro de mismo problemas es que como ya saben hay dos compos de password , entonces necesito algun codigo que verifique si en los dos campos esta la misma clave. Este es el codigo q estoy desarrollando.


Cita:
<HTML>
<HEAD>
<TITLE>Insertar.php</TITLE>
</HEAD>
<BODY>
<?
error_reporting(E_ALL);
//Conexion con la base
$link=mysql_connect("localhost","user","pass");

//selección de la base de datos con la que vamos a trabajar
mysql_select_db("base_beta",$link);

$nombre = $_POST['nombre'];
$apellido= $_POST['apellido'];
$usuario= $_POST['usuario'];
$password=md5($_POST['password']);
$direccion=$_POST['direccion'];
$provincia=$_POST['provincia'];
$email=$_POST['email'];
$telefono=$_POST['telefono'];
$celular=$_POST['celular'];
$fax=$_POST['fax'];
$tipo=$_POST['tipo'];
$creado=date('Y-m-d');


mysql_query("insert into usuarios (nombre,apellido,usuario,password,direccion,provin cia,email,telefono,celular,fax,tipo,creado) values ('$nombre','$apellido','$usuario','$password','$di reccion','$provincia','$email','$telefono','$celul ar','$fax','$tipo','$creado')",$link);


?>

<h1><div align="center">Registro Insertado</div></h1>
<div align="center"><a href="lectura.php">Visualizar el contenido de la base. El Tiempo es <? echo $creado;?></a></div>
</BODY>
</HTML>
Soy Novato en PHP , estoy aprendiendo y tengo como meta adelanta mi proyecto. ya que solo tengo dos semanas de vaciones en la universidad. le agradeceria si me ayudaran.
  #2 (permalink)  
Antiguo 28/07/2006, 01:37
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 13 años, 1 mes
Puntos: 1
para ver si ya está haces un :

Código PHP:
$sql="select * from usuarios where nombre='".$nombreInsertado."'";
$resultadomysql_query($sql);
if (
mysql_num_rows($resultado)!=0)
{
  echo 
"Ya existe el usuario";
  
//redireccionas al formulario o lo que quieras
}
else
{
 
//meter aqui el codigo de insertar si todo lo demas está bien

para lo del pasword tienes dos formas.. con php:
Código PHP:
if ($_POST['pass1']!=$_POST['pass2'])
{
  echo 
"Las pass no coinciden";
  
//redireccionas al formulario o lo que quieras
}
else
{
 
//cualquier otra cosa que quieras hacer... (por ejemplo meter el codigo para comprobar el usuario existente q)

con javascript:
en el onclick del boton de envio haces:
onclick='if (document.getElementById("pass1").value!=document. getElementById("pass2").value) {alert("pass diferentes");return false;};'


algo asi.. pruebas.. y comentas..
__________________
ALOZORRO v5.0 (ahora en .es)
  #3 (permalink)  
Antiguo 28/07/2006, 11:56
 
Fecha de Ingreso: marzo-2006
Mensajes: 401
Antigüedad: 11 años, 9 meses
Puntos: 1
no me sale ! que cosa!

esto que tengo aqui esta de mas?

Código PHP:
$nombre $_POST['nombre'];
$apellido$_POST['apellido'];
$usuario$_POST['usuario'];
$password=md5($_POST['password']);
$direccion=$_POST['direccion'];
$provincia=$_POST['provincia'];
$email=$_POST['email'];
$telefono=$_POST['telefono'];
$celular=$_POST['celular'];
$fax=$_POST['fax'];
$tipo=$_POST['tipo'];
$creado=date('Y-m-d'); 
por que en todos los ejemplos veo esto ;

Código PHP:
mysql_query("insert into usuarios (nombre,apellido,usuario,password,direccion,provincia,email,telefono,celular,fax,tipo,creado) values ('$nombre','$apellido','$usuario','$password','$direccion','$provincia','$email','$telefono','$celular','$fax','$tipo','$creado')",$link); 
y yo lo tengo todo junto!


yuna pregunta para hacer lo de Password , tengo que tener dos campos en mi base de datos?
  #4 (permalink)  
Antiguo 28/07/2006, 12:00
Avatar de .php  
Fecha de Ingreso: julio-2006
Mensajes: 481
Antigüedad: 11 años, 4 meses
Puntos: 5
http://cl2.php.net/manual/es/languag...s.external.php

te recomiendo que cambies
Código PHP:
mysql_query("insert into usuarios (nombre,apellido,usuario,password,direccion,provincia,email,telefono,celular,fax,tipo,creado) values ('$nombre','$apellido','$usuario','$password','$direccion','$provincia','$email','$telefono','$celular','$fax','$tipo','$creado')",$link); 
por
Código PHP:
echo $sql "insert into usuarios (nombre,apellido,usuario,password,direccion,provincia,email,telefono,celular,fax,tipo,creado) values ('$nombre','$apellido','$usuario','$password','$direccion','$provincia','$email','$telefono','$celular','$fax','$tipo','$creado')";
mysql_query($sql,$link); 
y revices el sql que te genero por pantalla
  #5 (permalink)  
Antiguo 28/07/2006, 12:36
 
Fecha de Ingreso: marzo-2006
Mensajes: 401
Antigüedad: 11 años, 9 meses
Puntos: 1
tengo que poner echo?
  #6 (permalink)  
Antiguo 28/07/2006, 12:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por MMCQ
tengo que poner echo?
El echo en este caso no es más para que revises tu consulta SQL que vas a ejecutar y veas si sintacticamente (según SQL) es correcta .. u obtienes los varlores esperados . .nada más. Una vez que termines tus pruebas .. se lo quitas.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 28/07/2006, 13:01
 
Fecha de Ingreso: marzo-2006
Mensajes: 401
Antigüedad: 11 años, 9 meses
Puntos: 1
Ya Esta Funcionando la Base , Ya se registrar y to , pero no se donde poner este codigo para que revise si el usuario que pone la persona se esta usando.
en parte lo pongo?
Código PHP:
$sql="select * from usuarios where nombre='".$nombreInsertado."'"
$resultadomysql_query($sql); 
if (
mysql_num_rows($resultado)!=0

  echo 
"Ya existe el usuario"
  
//redireccionas al formulario o lo que quieras 

else 

 
//meter aqui el codigo de insertar si todo lo demas está bien 

  #8 (permalink)  
Antiguo 28/07/2006, 13:05
Avatar de .php  
Fecha de Ingreso: julio-2006
Mensajes: 481
Antigüedad: 11 años, 4 meses
Puntos: 5
al inicio de tu pagina o html
  #9 (permalink)  
Antiguo 28/07/2006, 13:31
 
Fecha de Ingreso: marzo-2006
Mensajes: 401
Antigüedad: 11 años, 9 meses
Puntos: 1
Código PHP:
<HTML>
<HEAD>
<TITLE>Insertar.php</TITLE>
</HEAD>
<BODY>
<?
error_reporting
(E_ALL);
//Conexion con la base
$link=mysql_connect("localhost","sxxx","XXX"); 

//selección de la base de datos con la que vamos a trabajar 
mysql_select_db("sepos_xx",$link); 

$nombre $_POST['nombre'];
$apellido$_POST['apellido'];
$usuario$_POST['usuario'];
$password=md5($_POST['password']);
$direccion=$_POST['direccion'];
$provincia=$_POST['provincia'];
$email=$_POST['email'];
$telefono=$_POST['telefono'];
$celular=$_POST['celular'];
$fax=$_POST['fax'];
$tipo=$_POST['tipo'];
$creado=date('Y-m-d');         

if (
$_POST['password']!=$_POST['password2']) 

  echo 
"<script language='JavaScript'> alert('El Password Confirmada No Concuerda Con el Password'); </script>"
  
//redireccionas al formulario o lo que quieras 

else 

 
//cualquier otra cosa que quieras hacer... (por ejemplo meter el codigo para comprobar el usuario existente q) 
}  


$sql="select * from usuarios where usuario='".$usuario."'"
$resultadomysql_query($sql); 
if (
mysql_num_rows($resultado)!=0

  echo 
"<script language='JavaScript'> alert('El Usuario Esta Ya Registrado, Por Favor Elija Otro!'); </script>"
  
//redireccionas al formulario o lo que quieras 

else 

 
//meter aqui el codigo de insertar si todo lo demas está bien 
}  




 
$sql "insert into usuarios (nombre,apellido,usuario,password,direccion,provincia,email,telefono,celular,fax,tipo,creado) values ('$nombre','$apellido','$usuario','$password','$direccion','$provincia','$email','$telefono','$celular','$fax','$tipo','$creado')"
mysql_query($sql,$link);  


echo 
" Felicidades, Ya Esta Registrado!"

?>
Como Hago que cuando El Password no conincide con el password de confirmacion Vuelva al formulario, e igual forma cuando el usuario ya esta registrado..

estoy probando haber y he puesto que aparesca un Alert cuando el usuario ya esta registrado en la base y por lo tanto tiene que elegir otro , pero no regresa al formulario. Que Puedo Hacer?

</BODY>
</HTML>
  #10 (permalink)  
Antiguo 28/07/2006, 13:37
Avatar de .php  
Fecha de Ingreso: julio-2006
Mensajes: 481
Antigüedad: 11 años, 4 meses
Puntos: 5
Cita:
Iniciado por MMCQ
Como Hago que cuando El Password no conincide con el password de confirmacion Vuelva al formulario
Código PHP:
if ($_POST['password']!=$_POST['password2']) 
Por que no lo haces con javascript??
  #11 (permalink)  
Antiguo 28/07/2006, 13:50
 
Fecha de Ingreso: marzo-2006
Mensajes: 401
Antigüedad: 11 años, 9 meses
Puntos: 1
Es que Ya tengo el Onclick , Ultilizando!. Necesito Redireccion Cuando Salga el Alert Hacia el Formulario.
  #12 (permalink)  
Antiguo 28/07/2006, 13:56
Avatar de .php  
Fecha de Ingreso: julio-2006
Mensajes: 481
Antigüedad: 11 años, 4 meses
Puntos: 5
asi es:
Código PHP:
header("Location: $destino"); 
  #13 (permalink)  
Antiguo 28/07/2006, 14:01
 
Fecha de Ingreso: marzo-2006
Mensajes: 401
Antigüedad: 11 años, 9 meses
Puntos: 1
header("Location: beta/Registro.htm"); asi?
  #14 (permalink)  
Antiguo 28/07/2006, 14:08
Avatar de .php  
Fecha de Ingreso: julio-2006
Mensajes: 481
Antigüedad: 11 años, 4 meses
Puntos: 5
si, eso es
  #15 (permalink)  
Antiguo 28/07/2006, 14:12
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si usas un "alert()" de javascript .. tendrías que redirecionar en javacript también:

window.location="nosedonde.tal";

(o algo así .. confirmalo en el foro de javascript).

Pero .. técnicamente NO es correcto que tengas ese script de PHP que hace un proceso de insercción de datos en tus BBDD y ahí mismo muestres mensajes de error o exito .. se trata de que redirecciones a otro script donde será donde presentes tus mensajes de error o existo, para eso es neceario que -quites- todo ese HTML que ya tienes ahí (en la cabecera y demás) y todos los mensajes de error/exito (echo ... y "alert()" de javascript).

Para esto, ayudate de una variable de control para tal fin y así identificar que mensaje debes mostrar:

Código PHP:
header ("Location: mensajes.php?msg=1");
exit; 
y en mensajes.php . .compones una página HTML cualquiera y detectas o filtras la variable $_GET['msg']

Código PHP:
echo "Mensaje: ".$_GET['msg']; // aquí ya lo procesas con un array o similar para mostar una "frase" en consecuencia .. 
IMPORTANTE: Si optas por la solución que te planteo .. QUITA todo ese HTML que tienes ahí en ese script NO corresponde. TU script no va a mostrar ningún mensaje .. sólo redireccionará e identificará que mensaje se ha de generar.

El problema de usar la técnica que usas en estos momentos es principalmente la de que si recargas la página en el mensaje de "exito" . .veras como se genera un nuevo registro en tus BBDD .. tantos como el usuario "malicioso" se aburra de recargar la página .. eso se evita con la técnica que te menciono.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #16 (permalink)  
Antiguo 28/07/2006, 14:39
 
Fecha de Ingreso: marzo-2006
Mensajes: 401
Antigüedad: 11 años, 9 meses
Puntos: 1
ok!...no entiendo algo donde pongo
Código PHP:
header ("Location: mensajes.php?msg=1"); 
exit; 
donde lo pongo en un echo?


esta parte la entiendo!
Código PHP:
echo "Mensaje: ".$_GET['msg']; // aquí ya lo procesas con un array o similar para mostar una "frase" en consecuencia .. 
  #17 (permalink)  
Antiguo 28/07/2006, 14:41
 
Fecha de Ingreso: marzo-2006
Mensajes: 401
Antigüedad: 11 años, 9 meses
Puntos: 1
>
<?
error_reporting(E_ALL);
//Conexion con la base
$link=mysql_connect("localhost","seepo","golden12" );

//selección de la base de datos con la que vamos a trabajar
mysql_select_db("seepo_beta",$link);

$nombre = $_POST['nombre'];
$apellido= $_POST['apellido'];
$usuario= $_POST['usuario'];
$password=md5($_POST['password']);
$direccion=$_POST['direccion'];
$provincia=$_POST['provincia'];
$email=$_POST['email'];
$telefono=$_POST['telefono'];
$celular=$_POST['celular'];
$fax=$_POST['fax'];
$tipo=$_POST['tipo'];
$creado=date('Y-m-d');

if ($_POST['password']!=$_POST['password2'])
{
echo "<script language='JavaScript'> alert('El Password Confirmada No Concuerda Con el Password'); </script>"; <---y Quito eso!, pero que pongo?
//redireccionas al formulario o lo que quieras
}
else
{
//cualquier otra cosa que quieras hacer... (por ejemplo meter el codigo para comprobar el usuario existente q)
}


$sql="select * from usuarios where usuario='".$usuario."'";
$resultado= mysql_query($sql);
if (mysql_num_rows($resultado)!=0)
{
echo "<script language='JavaScript'> alert('El Usuario Esta Ya Registrado, Por Favor Elija Otro!'); </script>"; <---Quito eso!
//redireccionas al formulario o lo que quieras
}
else
{
//meter aqui el codigo de insertar si todo lo demas está bien
}




$sql = "insert into usuarios (nombre,apellido,usuario,password,direccion,provin cia,email,telefono,celular,fax,tipo,creado) values ('$nombre','$apellido','$usuario','$password','$di reccion','$provincia','$email','$telefono','$celul ar','$fax','$tipo','$creado')";
mysql_query($sql,$link);


echo "header ("Location: mensajes.php?msg=1");
exit;
"

?>
  #18 (permalink)  
Antiguo 28/07/2006, 14:46
Avatar de .php  
Fecha de Ingreso: julio-2006
Mensajes: 481
Antigüedad: 11 años, 4 meses
Puntos: 5
Código PHP:

if ($_POST['password']!=$_POST['password2'])  
{  
  echo 
"<script language='JavaScript'> alert('El Password Confirmada No Concuerda Con el Password'); </script>";
header ("Location: mensajes.php?msg=1");  //  AQUI VA  
  //redireccionas al formulario o lo que quieras  
}  
else  
{  
 
//cualquier otra cosa que quieras hacer... (por ejemplo meter el codigo para comprobar el usuario existente q)  

  #19 (permalink)  
Antiguo 28/07/2006, 14:53
 
Fecha de Ingreso: marzo-2006
Mensajes: 401
Antigüedad: 11 años, 9 meses
Puntos: 1
que se suponer tengo que poner en mensajes.php?
  #20 (permalink)  
Antiguo 28/07/2006, 14:56
Avatar de .php  
Fecha de Ingreso: julio-2006
Mensajes: 481
Antigüedad: 11 años, 4 meses
Puntos: 5
haber, parece que no nos estamos entendiendo
lo que yo entendi es de que tu quieres redireccionar tu pagina a otra cuando salga el mensaje de error
mensaje.php es la pagina donde tu quieres que se vaya.
  #21 (permalink)  
Antiguo 28/07/2006, 15:02
 
Fecha de Ingreso: marzo-2006
Mensajes: 401
Antigüedad: 11 años, 9 meses
Puntos: 1
no , mensaje.php fue Cluster que dijo eso!
  #22 (permalink)  
Antiguo 28/07/2006, 15:05
 
Fecha de Ingreso: marzo-2006
Mensajes: 401
Antigüedad: 11 años, 9 meses
Puntos: 1
Warning: Cannot modify header information - headers already sent by (output started at /home/seepo/public_html/beta/Registro.php:2) in /home/seepo/public_html/beta/Registro.php on line 52
  #23 (permalink)  
Antiguo 28/07/2006, 15:12
Avatar de .php  
Fecha de Ingreso: julio-2006
Mensajes: 481
Antigüedad: 11 años, 4 meses
Puntos: 5
ese error a que se debe??
por:
Código PHP:
header ("Location:  ... 
  #24 (permalink)  
Antiguo 28/07/2006, 15:22
 
Fecha de Ingreso: marzo-2006
Mensajes: 401
Antigüedad: 11 años, 9 meses
Puntos: 1
si ese es el error ahora!...


Mira lo que quiero cuando salga un error de Password o de usuario registrado Vaya Otras vez al formularios y si todo salio bien Vaya a otra pagina!
  #25 (permalink)  
Antiguo 28/07/2006, 15:28
Avatar de .php  
Fecha de Ingreso: julio-2006
Mensajes: 481
Antigüedad: 11 años, 4 meses
Puntos: 5
ok ese es ir al grano.
Código PHP:
/*
codigo php
.
.
*/
if($clave==/* mala */){ //si la clave es mala
  
$destino  =  "error.php";  // login malo
}else{
  
$destino  =  "bien.php";  // login bueno
}  //fin si

header("Location: $destino"); // al final o donde tu creas mas conveniente, pero siempre despes de las comparaciones 
  #26 (permalink)  
Antiguo 28/07/2006, 15:41
 
Fecha de Ingreso: marzo-2006
Mensajes: 401
Antigüedad: 11 años, 9 meses
Puntos: 1
Bueno Gracias! .php
  #27 (permalink)  
Antiguo 28/07/2006, 15:52
 
Fecha de Ingreso: marzo-2006
Mensajes: 401
Antigüedad: 11 años, 9 meses
Puntos: 1
Aun no tengo un solucion , la que .php , no me funciona bien , y la de cluster no me funcina tampoco sale un error

Cita:
Warning: Cannot modify header information - headers already sent by (output started at /home/seepo/public_html/beta/Registro.php:2) in /home/seepo/public_html/beta/Registro.php on line 52
  #28 (permalink)  
Antiguo 29/07/2006, 09:58
 
Fecha de Ingreso: marzo-2006
Mensajes: 401
Antigüedad: 11 años, 9 meses
Puntos: 1
ya hice todo lo que me dijeron , pero aun no tengo algo que redireccion al formularios cuando ahi un error. utilize lo que me dijo cluster lo del header location , y hacer un archivo mensajes.php pero aun no se como redireccionar
  #29 (permalink)  
Antiguo 31/07/2006, 07:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Registro.php:2

El mensaje de error te dice el problema ... ¿Qué tienes en la línea 2 de Registro.php? .. NO puede existir ni un espacio antes de <? .. ni un salto de línea antes de <? . .ni HTML .. ni echo "algo" .. NADA.

Ya te comenté que según la técnica que te propongo .. el script de proceso (registro.php) sólo debe ser código PHP (o por lo menos para ese proceso). El resto: mensajes y demás lo debes hacer en otro script (el que redireccionas ante un mensaje que tengas que mostrar o proceso concluido).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #30 (permalink)  
Antiguo 31/07/2006, 13:51
Avatar de .php  
Fecha de Ingreso: julio-2006
Mensajes: 481
Antigüedad: 11 años, 4 meses
Puntos: 5
Información

Cita:
Iniciado por MMCQ
ya hice todo lo que me dijeron , pero aun no tengo algo que redireccion al formularios cuando ahi un error. utilize lo que me dijo cluster lo del header location , y hacer un archivo mensajes.php pero aun no se como redireccionar
Código PHP:
/* 
codigo php 


*/ 
if($clave==/* string */){ //si la clave es mala 
  
$destino  =  "error.php?login=no";  // login malo 
}else{ 
  
$destino  =  "bien.php?id=2";  // login bueno 
}  //fin si 

header("Location: $destino"); // al final o donde tu creas mas conveniente, pero siempre despes de las comparaciones
exit(); // Para que no se siga ejecutando 
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 01:54.