Foros del Web » Programando para Internet » PHP »

Validar contraseñas

Estas en el tema de Validar contraseñas en el foro de PHP en Foros del Web. Hola, tengo un formulario donde el usuario tiene que ingresar la contraseña y luego repetir la contraseña. Queria saber como es el codigo para ver ...
  #1 (permalink)  
Antiguo 25/10/2006, 07:54
 
Fecha de Ingreso: septiembre-2006
Mensajes: 48
Antigüedad: 17 años, 7 meses
Puntos: 0
Validar contraseñas

Hola, tengo un formulario donde el usuario tiene que ingresar la contraseña y luego repetir la contraseña. Queria saber como es el codigo para ver si las dos son iguales o no, de ser iguales lo insertaria en una base de datos mediante insertar.php; si no son iguales, que aparezca un mensaje diciendo el error.
Muchas gracias.
  #2 (permalink)  
Antiguo 25/10/2006, 07:56
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Código PHP:
$contrasena1 $_POST['contrasena1'];
$contrasena2 $_POST['contrasena2'];

if (
$contrasena1 == $contrasena2) {

  
//Insertar en base de datos....

} else {

die (
"Las contraseñas no coinciden.");


  #3 (permalink)  
Antiguo 25/10/2006, 08:00
Avatar de Erikfrancisco  
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 20 años, 5 meses
Puntos: 4
Cuando mandes tu formulario via GET o POST compara los campos. Ejemplo:

Código PHP:
if ( $_POST['password1'] == $_POST['password2'] )
{
   
// haces la inserción
}
else
{
   
// haces un echo donde avises que hubo un error en el password y la confirmación de este
   // aunque te aconsejaría que mejor utilices una redireccion esto lo haces con:
   // header ( "Location: aquí_pones_la_ruta_hacia_tu_formulario" );

Espero que esto te haya servido o por lo menos te de una idea. Suerte

jeje Me gano david M G
  #4 (permalink)  
Antiguo 25/10/2006, 08:04
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Aquí no hay vencedores

Pero eso sí, recomiendo pasar la variable quitándole el "$_POST" para hacerlo más cómodo, sobretodo a la hora de hacer el INSERT.
  #5 (permalink)  
Antiguo 25/10/2006, 08:17
 
Fecha de Ingreso: septiembre-2006
Mensajes: 48
Antigüedad: 17 años, 7 meses
Puntos: 0
bien, si las contraseñas son iguales debo llamar a la página insertar.php de que manera se la debe llamar?
  #6 (permalink)  
Antiguo 25/10/2006, 08:19
Avatar de Erikfrancisco  
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 20 años, 5 meses
Puntos: 4
Código PHP:
if ($contrasena1 == $contrasena2)
{
  include(
"insertar.php");

Como vez sólo ahy que utilizar la función include para que te inserte el código que se encuentra en el archivo que pones dentro de esta función (en este caso insertar.php).

Para más información acerca de esta función checa este enlace:

http://www.php.net/manual/es/function.include.php

Suerte
  #7 (permalink)  
Antiguo 25/10/2006, 08:33
 
Fecha de Ingreso: septiembre-2006
Mensajes: 48
Antigüedad: 17 años, 7 meses
Puntos: 0
Soy un burrroooooooooo

Me podrian decir en que lugar debo insertar ese codigo?
Registración.php
<style type="text/css">
<!--
body {
background-color: #6699FF;
}
.Estilo1 {
color: #FFFFFF;
font-weight: bold;
font-size: 24px;
}
.Estilo2 {color: #FFFFFF}
-->
</style>
<div align="center" class="Estilo1"><u>Formulario de Registro </u></div>
<table width="780" border="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><strong><span class="Estilo2">Si eres nuevo en esta p&aacute;gina, primero deber&aacute;s registrarte.</span></strong></td>
</tr>
<tr>
<td><strong><span class="Estilo2">Para ello debes rellenar este formulario con tus datos personales. </span></strong></td>
</tr>
</table>

<form id="form1" name="form1" method="post" action="insertar.php">
<label><strong>Apellido</strong>
<input name="apellido" type="text" tabindex="1" size="30" />
<br>
</label>
<label><strong><br />
Nombres</strong>
<input name="nombres" type="text" tabindex="2" size="50" />
<br>
</label>
<label><strong><br />
DNI</strong>
<input name="dni" type="text" id="dni" tabindex="3" size="10" />
<br>
</label>
<label><strong><br />
Telefóno</strong>
<input name="telefono" type="text" tabindex="4" size="15" />
</label>
<label><strong> Celular / M&oacute;vil</strong>
<input name="celular" type="text" tabindex="5" size="15" />
</label>
<label><strong><br>
<br />
Domicilio</strong>
<input name="domicilio" type="text" tabindex="6" size="100" />
</label>
<label><strong><br>
<br />
Mail</strong>
<input name="mail" type="text" tabindex="7" size="30" />
<br>
</label>
<label><strong><br />
Contraseña</strong>
<input name="contrasena" type="password" tabindex="8" />
</label>
<label><strong> Repetir contraseña</strong>
<input name="repcont" type="password" tabindex="9" />
<br />
<br />
</label>
<label>
<input type="submit" name="Submit" value="Enviar" tabindex="10" />
</label>
<input type="reset" name="Submit2" value="Borrar campos" tabindex="10" />
</form>

Insertar.php
<?php
$conexion = mysql_connect("localhost", "faquinte","175f38q");
mysql_select_db("contactos",$conexion);

$apellido=$_POST['apellido'];
$nombres=$_POST['nombres'];
$dni=$_POST['dni'];
$telefono=$_POST['telefono'];
$celular=$_POST['celular'];
$domicilio=$_POST['domicilio'];
$mail=$_POST['mail'];
$contrasena=$_POST['contrasena'];
$repcont=$_POST['repcont'];

$sql =" INSERT INTO tblcontactos (apellido,nombres,dni,telefono,celular,domicilio,m ail,contrasena,repcont) VALUES ('$apellido','$nombres','$dni','$telefono','$celul ar','$domicilio','$mail','$contrasena','$repcont') ";


$result = mysql_query($sql);
if ($sql)
{
echo "<font color=ff0000 size=4> El registro ha sido incluido </font>\n";
}
else
{
echo "<p>¡No se ha podido introducir.!</p>\n";
exit;
}
mysql_close($conexion);
?>
  #8 (permalink)  
Antiguo 25/10/2006, 08:38
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Insertar.php

Código PHP:
<?php

$contrasena 
$_POST['contrasena'];
$repcont $_POST['repcont'];

if (!
$contrasena == $repcont) {

die (
"Las contraseñas no coinciden.");

}

$conexion mysql_connect("localhost""faquinte","175f38q");
mysql_select_db("contactos",$conexion);

$apellido=$_POST['apellido'];
$nombres=$_POST['nombres'];
$dni=$_POST['dni'];
$telefono=$_POST['telefono'];
$celular=$_POST['celular'];
$domicilio=$_POST['domicilio'];
$mail=$_POST['mail'];
$contrasena=$_POST['contrasena'];
$repcont=$_POST['repcont'];

$sql =" INSERT INTO tblcontactos (apellido,nombres,dni,telefono,celular,domicilio,mail,contrasena,repcont) VALUES ('$apellido','$nombres','$dni','$telefono','$celular','$domicilio','$mail','$contrasena','$repcont') ";


$result mysql_query($sql);
if (
$sql)
{
echo 
"<font color=ff0000 size=4> El registro ha sido incluido </font>\n";
}
else
{
echo 
"<p>¡No se ha podido introducir.!</p>\n";
exit;
}
mysql_close($conexion);
?>
  #9 (permalink)  
Antiguo 25/10/2006, 08:56
 
Fecha de Ingreso: septiembre-2006
Mensajes: 48
Antigüedad: 17 años, 7 meses
Puntos: 0
Perdon, pero esto me imprime el codigo que me diste en la hoja del formulario.
  #10 (permalink)  
Antiguo 25/10/2006, 09:07
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
?



..He modificado el archivo insertar.php, y lo que hace ahora es una comprobación de si las contraseñas que ha puesto en el formulario coinciden, hace el INSERT, y sino, no continúa con el proceso.
  #11 (permalink)  
Antiguo 25/10/2006, 10:57
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 9 meses
Puntos: 0
Un pekeño apunte...

Para mayor seguridad puedes usar la función strcmp la cual es sensible a mayúsculas y minúsculas. Además en el caso de q la directiva magic_quotes_gpc esté a OFF no estaría de más q usarás la función addslashes al recoger las variables.

Código PHP:
if (strcmp ($contrasena,$repcont)!==0) die ("Las contraseñas no coinciden."); 
Saludos.

P.D.: Cuando no manejamos el php.ini una manera de resolver lo del addslashes es usando por ejemplo esto:

Código PHP:
$content = (! get_magic_quotes_gpc ()) ? addslashes ($content) : $content
Está sacado de los comentarios de los usuarios de php.net en la referencia de la función cuyo enlace tenéis. Podéis exar un vistazo y pillar lo q veáis necesario.
__________________
La muerte es un camino que todos debemos recorrer...
  #12 (permalink)  
Antiguo 25/10/2006, 11:01
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Será mejor que olvides eso último. Los magic_quotes desaparecen en la versión 6 de PHP.
  #13 (permalink)  
Antiguo 25/10/2006, 11:33
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 9 meses
Puntos: 0
Cita:
Iniciado por david_M_G Ver Mensaje
Será mejor que olvides eso último. Los magic_quotes desaparecen en la versión 6 de PHP.
"Será o seró"... ¿cuántos servidores de pago han migrado de php 4 a php 5?

Si usas servidor propio olvida todo lo q he dixo acerca de la función addslashes pero para aquellos q no tengan servidor propio y además mientras no migre puede resultar valioso conocerlo puesto q pocos ejemplos muestran funciones q son útiles para la seguridad del sitio y la base de datos aunque yo suelo encontrar en los pocos servidores q he visto dicha directiva a ON.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
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 14:11.