Foros del Web » Programando para Internet » PHP »

Espacio coloreado en mi formulario al conservar datos correctos variables de sesion

Estas en el tema de Espacio coloreado en mi formulario al conservar datos correctos variables de sesion en el foro de PHP en Foros del Web. Hola Sigo aprendiendo php poco a poco Estoy intentando hacer un formulario para dar de alta a un usuario que pida el nombre, el correo ...
  #1 (permalink)  
Antiguo 20/01/2013, 14:47
 
Fecha de Ingreso: octubre-2012
Mensajes: 37
Antigüedad: 11 años, 6 meses
Puntos: 3
Espacio coloreado en mi formulario al conservar datos correctos variables de sesion

Hola

Sigo aprendiendo php poco a poco

Estoy intentando hacer un formulario para dar de alta a un usuario que pida el nombre, el correo y la contraseña.

Y que si el nombre tiene caracteres incorrectos como #, $, &, vuelva a pedir el nombre.

Quiero conseguir que los otros datos ya introducidos en el formulario no tengan que ser escritos de nuevo, sino que se presenten ya como introducidos.

Lo hago utilizando variables de sesion.

Y curiosamente me aparece un "precioso" rectangulito azul en donde se pide la contraseña, que es el campo por el que he empezado a poner los datos que ya se han introducido.




Esto sale desde el principio, es la primera ejecución del pequeño programa. Todavía no he escrito ninguna vez la contraseña. Que esta puesta como campo texto, prefiero que no salga oculta.

Y también sale si al ser erroneo el nombre la comprobación me regresa al formulario.

Os pongo los códigos que estoy utilizando, a ver si alguien me puede ayudar, porque por más que lo miro y llevo un par de horas atascado aquí, no se me ocurre por qué puede ser.


autentificacion11.php (presenta el formulario)
Código PHP:
<html>
<head>
<title>Comprobar variable formulario y poner valores resto usando variables de sesion</title>
</head>
<body>

<form action="autentificacion11b.php" method="post">

Escriba su nombre (Solo letras A-z,a-z, numeros 0-9):
<input type="text" name="nombre">
<br>
Escriba su correo electrónico:
<input type="text" name="mail"><br>
Escriba su contraseña (Solo letras A-z,a-z, numeros 0-9):
<input type="text" name="contrasena" size="8" value="
          <?php
          session_start
();
          if(isset(
$_SESSION['contrasena'])){
              if(!empty(
$_SESSION['contrasena'])){
                  echo 
trim($_SESSION['contrasena']);
                  unset(
$_SESSION['contrasena']);
              }
           }
         
?>"
         >
<br>
<input type="submit" value="Registrar">
</form>
</body>
</html>
autentificacion11b.php (que hace la comprobación y si hay error regresa al formulario)
Código PHP:
<html>
<head>
<title>Comprobar variable formulario y poner valores resto usando variables de sesion</title>
</head>
<body>
<?php
function comprobar_nombre_usuario($nombre_usu)
{
   if (
preg_match('/^[A-Za-zÀÁÈÉÒÓÙÚàáèéìíòóùúüÑñ_\-\.\,\s\d]*$/is'$nombre_usu)) 
       { return 
true; } 
       else { return 
false; } 


if (
comprobar_nombre_usuario($_REQUEST['nombre']))
 {
 echo 
"Nombre de usuario correcto";
 }
 else 
 {
   
session_start();
   
$_SESSION['contrasena']=trim($_REQUEST['contrasena']);
   
header("Location: autentificacion11.php");
  }

?>
<br>
<a href="autentificacion11.php">retornar</a>
</body>
</html>
  #2 (permalink)  
Antiguo 21/01/2013, 21:24
Avatar de RobCo  
Fecha de Ingreso: julio-2012
Mensajes: 50
Antigüedad: 11 años, 9 meses
Puntos: 1
Sonrisa Respuesta: Espacio coloreado en mi formulario al conservar datos correctos variables

Bueno el error está en autentifiación:

en lugar de dejar el codigo PHP anidado lo dejas por separado me explico:

autentifcicion11.php (El original)

Código PHP:
<html> 
<head> 
<title>Comprobar variable formulario y poner valores resto usando variables de sesion</title> 
</head> 
<body> 

<form action="autentificacion11b.php" method="post"> 

Escriba su nombre (Solo letras A-z,a-z, numeros 0-9): 
<input type="text" name="nombre"> 
<br> 
Escriba su correo electrónico: 
<input type="text" name="mail"><br> 
Escriba su contraseña (Solo letras A-z,a-z, numeros 0-9): 
<input type="text" name="contrasena" size="8" value=" 
          <?php 
          session_start
(); 
          if(isset(
$_SESSION['contrasena'])){ 
              if(!empty(
$_SESSION['contrasena'])){ 
                  echo 
trim($_SESSION['contrasena']); 
                  unset(
$_SESSION['contrasena']); 
              } 
           } 
         
?>
         > 
<br> 
<input type="submit" value="Registrar"> 
</form> 
</body> 
</html>
Debe quedarte así autentificacion11.php (OJO: Esta Modificado)

Código PHP:
<html> 
<head> 
<title>Comprobar variable formulario y poner valores resto usando variables de sesion</title> 
</head> 
<body> 

<form name="form1" action="" method="post"> 

Escriba su nombre (Solo letras A-z,a-z, numeros 0-9): 
<input type="text" name="nombre" value ="<?php if(isset($_SESSION['nombre'])) echo $_SESSION['nombre']; ?>" /> 
<br /> 
Escriba su correo electrónico: 
<input type="text" name="mail" value ="<?php if(isset($_SESSION['mail'])) echo $_SESSION['mail']; ?> "><br> 
Escriba su contraseña (Solo letras A-z,a-z, numeros 0-9): 
<input type="password" name="contrasena" size="8" value="<?php session_start(); if(isset($_SESSION['contrasena'])){if(!empty($_SESSION['contrasena'])){echo trim($_SESSION['contrasena']); unset($_SESSION['contrasena']);}}?>" /> 
<br> 
<input type="submit" value="Registrar"> 
</form> 
</body> 
</html>
Y se te quitará el espacio en azul, explicación: en Value="" cuando uno escribe una palabra por ejemplo

Código HTML:
<input type="TEXT" name="Ejemplo" VALUE="Hola      " /> 
y dejamos 5 espacios en blanco en el INPUT (Caja de texto de entrada de datos) al darle click al INPUT pondra por defecto 5 espacios en blanco por el comando VALUE(Evaluar, Poner Cadena predeterminada, o como lo quieras llamar)

y si hacemos lo mismo

Código HTML:
<input type="TEXT" name="Ejemplo" VALUE="      " /> 
pero sin Hola al darle click al INPUT por defecto traera los 5 espacios en blanco. Prueba para que veas el error, y si tienes alguna duda, envia otro mensaje en el mismo tema que creaste

Etiquetas: conservar, espacio, formulario, html, variables
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:58.