Foros del Web » Programando para Internet » PHP »

un problemilla con echo

Estas en el tema de un problemilla con echo en el foro de PHP en Foros del Web. Hola tengo este codigo para verificar contraseña y mail en un formulario Código PHP: if( $_POST [ 'contrasena' ] ==  $_POST [ 'repcontrasema' ]) { echo  ...
  #1 (permalink)  
Antiguo 22/10/2008, 15:50
 
Fecha de Ingreso: junio-2008
Mensajes: 292
Antigüedad: 15 años, 10 meses
Puntos: 4
un problemilla con echo

Hola tengo este codigo para verificar contraseña y mail en un formulario
Código PHP:
if($_POST['contrasena'] == $_POST['repcontrasema'])
{
echo 
"contraseña iguales";
}
else
{
echo 
"contraseñas incorrectas";
}
if(
$_POST['mail'] == $_POST['repemail'])
{
echo 
"contraseña iguales";
}
else
{
echo 
"E-mail distintos";

el tema es que el echo me lo hace en una pagina apate y yo kiero q salga en la pagina del formulario como es logico....alguien me ayuda....gracias!!
  #2 (permalink)  
Antiguo 22/10/2008, 15:53
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: un problemilla con echo

Hola Ghosty,

Lo que tendrias que hacer es re-diseñar tu formulario para que el POST sea a la misma pagina, posteriormente haces el chequeo y guardas los mensajes en un arreglo y al dibujar tu formulario imprimes los valores.

Saludos.
  #3 (permalink)  
Antiguo 22/10/2008, 16:10
 
Fecha de Ingreso: septiembre-2003
Mensajes: 54
Antigüedad: 20 años, 7 meses
Puntos: 2
Respuesta: un problemilla con echo

seria asi mas o menos

Código PHP:
<?php
if($_POST['enviar']) // nombre del submit
{
codigo despues que apreten en el form
}
else
{
?>
CODIGO HTML
<?php
}
?>
__________________
Kame Kame AH
  #4 (permalink)  
Antiguo 22/10/2008, 16:59
 
Fecha de Ingreso: junio-2008
Mensajes: 292
Antigüedad: 15 años, 10 meses
Puntos: 4
Respuesta: un problemilla con echo

ok gracias a los dos
  #5 (permalink)  
Antiguo 22/10/2008, 17:28
 
Fecha de Ingreso: octubre-2008
Ubicación: Puebla, Pue
Mensajes: 33
Antigüedad: 15 años, 6 meses
Puntos: 1
De acuerdo Respuesta: un problemilla con echo

Tengo una solucion.
Vas a meter debajo de tu formulario un Iframe en la misma pagina.
ej.
<form id="form1" name="form1" method="post" action="pide_datos.php" target="iframe">

<!--aqui van los elementos de tu form...-->

</form>

<iframe name="iframe" width="585" height="400" frameborder="0" scrolling=no></iframe>

en este caso pide_datos.php es el que va a validar tu usuario y contraseña.
tal y como viene tu codigo lo va a imprimir en la misma pagina de tu form...
osea dentro del iframe es donde se mostrará el resultado de tu login
saludos
  #6 (permalink)  
Antiguo 22/10/2008, 17:47
 
Fecha de Ingreso: junio-2008
Mensajes: 292
Antigüedad: 15 años, 10 meses
Puntos: 4
Respuesta: un problemilla con echo

No te entoiendo biennn...podias explicarlo mejo por favor gracias
  #7 (permalink)  
Antiguo 22/10/2008, 17:50
 
Fecha de Ingreso: junio-2008
Mensajes: 292
Antigüedad: 15 años, 10 meses
Puntos: 4
Respuesta: un problemilla con echo

es un formulario de alta no de login
  #8 (permalink)  
Antiguo 22/10/2008, 17:52
 
Fecha de Ingreso: octubre-2008
Ubicación: Puebla, Pue
Mensajes: 33
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: un problemilla con echo

<form id="form1" name="form1" method="post" action="pide_datos.php" target="iframe">

<!--aqui van los elementos de tu form...-->

</form>

a tu form tienes q agregarle target="iframe", con esto le dices al navegador que la página a la que envias la informacion debe aparecer dentro del Iframe.. y no en otra pagina
  #9 (permalink)  
Antiguo 22/10/2008, 17:53
 
Fecha de Ingreso: junio-2008
Mensajes: 292
Antigüedad: 15 años, 10 meses
Puntos: 4
Respuesta: un problemilla con echo

bien bien lo viiiiiiiiiii eres un makina justo lo que keria graciasssss
  #10 (permalink)  
Antiguo 22/10/2008, 17:55
 
Fecha de Ingreso: octubre-2008
Ubicación: Puebla, Pue
Mensajes: 33
Antigüedad: 15 años, 6 meses
Puntos: 1
De acuerdo Respuesta: un problemilla con echo

De nada, para eso estamos, Saludos!!!
  #11 (permalink)  
Antiguo 22/10/2008, 18:27
 
Fecha de Ingreso: junio-2008
Mensajes: 292
Antigüedad: 15 años, 10 meses
Puntos: 4
Respuesta: un problemilla con echo

ay un propblema una vez que carga el .php en el iframe no vuelve a enviar el formulario y en el iframe carga Not found
  #12 (permalink)  
Antiguo 23/10/2008, 08:06
 
Fecha de Ingreso: junio-2008
Mensajes: 292
Antigüedad: 15 años, 10 meses
Puntos: 4
Respuesta: un problemilla con echo

alguien sabe por que?
  #13 (permalink)  
Antiguo 23/10/2008, 08:28
 
Fecha de Ingreso: septiembre-2003
Mensajes: 54
Antigüedad: 20 años, 7 meses
Puntos: 2
Respuesta: un problemilla con echo

No me gusta trabajar mucho con Iframe pq algunos explorer siempre trae uno que otro error...

Mira hize esto espero que te sirva.
Cuando entras muestra el formulario, si se envia datos y no son correctos, muestra el formulario y manda los errores, si todo esta OK, manda a otra pagina sin el formulario.

Código PHP:
<?php
if($_POST['Submit']) // Si se apreta el boton
{
$submit=true// Envio OK
$pass=$_POST['pass']; // Tomo la pass
$pass2=$_POST['pass2']; // Tomo la verificacion de pass
$email=$_POST['email']; // Tomo el Email
$email2=$_POST['email2']; // Tomo la verificacion del email

// Verifico que todos los datos esten llenos
if(empty($pass) || empty($pass2) || empty($email) || empty($email2))
{
    
$error .= "Debes llenar todos los datos<br>"// Si falta un dato manda este mensaje
    
unset($submit); // Elimino el envio porque fallo
}

// Verifico si la pass's son iguales
if($pass != $pass2 )
{
    
$error .= "Las contraseñas no coiciden<br>";
    unset(
$submit);
}

// Verifico si los email's son iguales
if( $email != $email2)
{
    
$error .= "Los emails no coiciden<br>";
    unset(
$submit);
}

// Si no ocurre ningun error carga otra pagina
if(isset($submit))
{
    echo 
"BIEN TODO CORRECTO";
}
}

// Si no existe el envio muestra el formulario
if(empty($submit))
{
?>
<html>
<p><font color="#000000"><b><?php echo $error// Si existen errores lo muestra ?></b></font></p>
<form method="post" action="a.php">
  <p>Contrase&ntilde;a: 
    <input type="password" " name="pass" >
  </p>
  <p>Valida contrase&ntilde;a: 
    <input type="password"  name="pass2">
  </p>
  <p>email: 
    <input type="text" name="email">
  </p>
  <p>Validar email: 
    <input type="text" name="email2">
  </p>
  <p>
    <input type="submit" name="Submit" value="Enviar">
  </p>
  </form>
</html>
<?php
}
?>

Saludos.
__________________
Kame Kame AH
  #14 (permalink)  
Antiguo 23/10/2008, 08:29
 
Fecha de Ingreso: junio-2008
Mensajes: 292
Antigüedad: 15 años, 10 meses
Puntos: 4
Respuesta: un problemilla con echo

ok lo probare del tiron muxas gracias
  #15 (permalink)  
Antiguo 23/10/2008, 15:27
 
Fecha de Ingreso: junio-2008
Mensajes: 292
Antigüedad: 15 años, 10 meses
Puntos: 4
Respuesta: un problemilla con echo

hola me a surgido otro problemilla.....el codigo que anterior cumple su cometido perfectamente pero cuando el form esta ok no me lo carga en la BD simplemente se restaura la pagina.... e exo esto....y otro problema que veo es como hacer para que al aceptar el formulario vaya a la pagina desea mirad e exo esto...espero ayuda GRACIASSSSS

Código PHP:
<?php
if($_POST['enviar']) // Si se apreta el boton
{
$pass=$_POST['contrasena']; // Tomo la pass
$pass2=$_POST['repcontrasema']; // Tomo la verificacion de pass
$email=$_POST['mail']; // Tomo el Email
$email2=$_POST['repemail']; // Tomo la verificacion del em00ail
$apodo=$_POST['apodo'];
$nombre=$_POST['nombre'];
$apellidos=$_POST['apellidos'];
$direccion=$_POST['direccion'];
$cp=$_POST['cp'];
$telefono=$_POST['telefono'];
$poblacion=$_POST['poblacion'];
$provincia=$_POST['provincia'];
$pais=$_POST['pais'];
$mas18=$_POST['mas18'];
$condiciones=$_POST['condiciones'];
$conexion mysql_connect('localhost','root','');

mysql_select_db('poker',$conexion);

$sql='INSERT INTO usuarios (apodo, contrasena, repcontrasema, mail, repemail, nombre, apellidos, nacimineto, direccion, cp, telefono, poblacion, provincia, pais, mas18, condiciones) VALUES($apodo, $contrasena, $repcontrasema, $mail, $repemail, $nombre, $apellidos, $nacimineto, $direccion, $cp, $telefono, $poblacion, $provincia, $pais, $mas18, $condiciones)';

mysql_query($sql);


// Verifico que todos los datos esten llenos
if(empty($pass) || empty($pass2) || empty($email) || empty($email2) || empty($apodo) || empty($nombre)  || empty($apellidos)  || empty($direccion)  || empty($cp)  || empty($telefono)  || empty($poblacion) || empty($provincia)  || empty($pais) || empty($mas18)  || empty($condiciones))
{
    
$error .= "Error: Debes rellenar todos los campos.<br>"// Si falta un dato manda este mensaje
    
unset($submit); // Elimino el envio porque fallo
}

// Verifico si la pass's son iguales
if($pass != $pass2 )
{
    
$error .= "Error: Las contraseñas no coinciden.<br>";
    unset(
$submit);
}

// Verifico si los email's son iguales
if( $email != $email2)
{
    
$error .= "Error: Los emails no coinciden.<br>";
    unset(
$submit);
}

// verifico mayor de edad
if( $mas18 != "si")
{
    
$error .= "Error: Si eres mayor de edad, marca la casilla, por favor.<br>";
    unset(
$submit);
}

// verifico terminos y condiciones
if( $condiciones != "si")
{
    
$error .= "Error: No puedes continuar sin leer los términos y condiciones de Sit-n-Poker.<br>";
    unset(
$submit);
}

// Si no ocurre ningun error carga otra pagina
if(isset($sql))
{
 echo 
"BIEN TODO CORRECTO";  
}
}
// Si no existe el envio muestra el formulario
if(empty($submit))
{
?>
  #16 (permalink)  
Antiguo 23/10/2008, 15:32
 
Fecha de Ingreso: septiembre-2003
Mensajes: 54
Antigüedad: 20 años, 7 meses
Puntos: 2
Respuesta: un problemilla con echo

No te entendi nada pero, pone la consulta SQL dentro del codigo bueno o ahi inserta sin verificar los errores.

Código PHP:
<?php 
if($_POST['enviar']) // Si se apreta el boton 

$submit=TRUE;
$pass=$_POST['contrasena']; // Tomo la pass 
$pass2=$_POST['repcontrasema']; // Tomo la verificacion de pass 
$email=$_POST['mail']; // Tomo el Email 
$email2=$_POST['repemail']; // Tomo la verificacion del em00ail 
$apodo=$_POST['apodo']; 
$nombre=$_POST['nombre']; 
$apellidos=$_POST['apellidos']; 
$direccion=$_POST['direccion']; 
$cp=$_POST['cp']; 
$telefono=$_POST['telefono']; 
$poblacion=$_POST['poblacion']; 
$provincia=$_POST['provincia']; 
$pais=$_POST['pais']; 
$mas18=$_POST['mas18']; 
$condiciones=$_POST['condiciones']; 

// Verifico que todos los datos esten llenos 
if(empty($pass) || empty($pass2) || empty($email) || empty($email2) || empty($apodo) || empty($nombre)  || empty($apellidos)  || empty($direccion)  || empty($cp)  || empty($telefono)  || empty($poblacion) || empty($provincia)  || empty($pais) || empty($mas18)  || empty($condiciones)) 

    
$error .= "Error: Debes rellenar todos los campos.<br>"// Si falta un dato manda este mensaje 
    
unset($submit); // Elimino el envio porque fallo 


// Verifico si la pass's son iguales 
if($pass != $pass2 

    
$error .= "Error: Las contraseñas no coinciden.<br>"
    unset(
$submit); 


// Verifico si los email's son iguales 
if( $email != $email2

    
$error .= "Error: Los emails no coinciden.<br>"
    unset(
$submit); 


// verifico mayor de edad 
if( $mas18 != "si"

    
$error .= "Error: Si eres mayor de edad, marca la casilla, por favor.<br>"
    unset(
$submit); 


// verifico terminos y condiciones 
if( $condiciones != "si"

    
$error .= "Error: No puedes continuar sin leer los términos y condiciones de Sit-n-Poker.<br>"
    unset(
$submit); 


// Si no ocurre ningun error carga otra pagina 
if(isset($submit)) 

$conexion mysql_connect('localhost','root',''); 

mysql_select_db('poker',$conexion); 

$sql="INSERT INTO usuarios (apodo, contrasena, repcontrasema, mail, repemail, nombre, apellidos, nacimineto, direccion, cp, telefono, poblacion, provincia, pais, mas18, condiciones) VALUES('$apodo', '$contrasena', '$repcontrasema', '$mail', '$repemail', '$nombre', '$apellidos', '$nacimineto', '$direccion', '$cp', '$telefono', '$poblacion', '$provincia', '$pais', '$mas18', '$condiciones')"

mysql_query($sql); 
echo 
"TODO OK";


// Si no existe el envio muestra el formulario 
if(empty($submit)) 

?>
__________________
Kame Kame AH
  #17 (permalink)  
Antiguo 23/10/2008, 15:36
 
Fecha de Ingreso: junio-2008
Mensajes: 292
Antigüedad: 15 años, 10 meses
Puntos: 4
Respuesta: un problemilla con echo

Seria algo asi

// Si no ocurre ningun error carga otra pagina
if(isset($sql))
{
$conexion = mysql_connect('localhost','root','');

mysql_select_db('poker',$conexion);

$sql='INSERT INTO usuarios (apodo, contrasena, repcontrasema, mail, repemail, nombre, apellidos, nacimineto, direccion, cp, telefono, poblacion, provincia, pais, mas18, condiciones) VALUES($apodo, $contrasena, $repcontrasema, $mail, $repemail, $nombre, $apellidos, $nacimineto, $direccion, $cp, $telefono, $poblacion, $provincia, $pais, $mas18, $condiciones)';

mysql_query($sql);

}
}
// Si no existe el envio muestra el formulario
  #18 (permalink)  
Antiguo 23/10/2008, 15:36
 
Fecha de Ingreso: septiembre-2003
Mensajes: 54
Antigüedad: 20 años, 7 meses
Puntos: 2
Respuesta: un problemilla con echo

Ahi te lo modifique.
__________________
Kame Kame AH
  #19 (permalink)  
Antiguo 23/10/2008, 15:40
 
Fecha de Ingreso: junio-2008
Mensajes: 292
Antigüedad: 15 años, 10 meses
Puntos: 4
Respuesta: un problemilla con echo

biennnnnnnnn biennnnnnnnnnnnnn el fallo esta aki

if(isset($submit)) lo cambie por if(isset($sql))

muy muy amable!
  #20 (permalink)  
Antiguo 23/10/2008, 15:44
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años, 1 mes
Puntos: 16
Respuesta: un problemilla con echo

podrias usar javascript, o enviar algun dato por get.
por ejemplo
Código:
<input type="text" name="email" id='Mail'>
<input type="text" name="repmail" onBlur="checkDatoRep('Mail')" >
Código:
//en javascript
function checkDatoRep(idC){
 elementRep = document.getElementByID(idC);
 valor = elementRep.value;
 
thisElement = document.getElementByID('mail2');
valor2 = thisElement.value;

if (valor != valor2){
  alert('los datos no coinciden');
// podrias usar innerHtml en 
   thisElement.innerHtml = 'los datos no coinciden';
}

}
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 20:17.