• Compra una licencia de Windows 10/11 (10€) u Office (18€) al mejor precio u Office al mejor precio. Entra en este post con las ofertas
  • ¡Bienvenid@! Recuerda que para comentar en el foro de El Chapuzas Informático necesitas registrar tu cuenta, tardarás menos de 2 minutos y te dará valiosa información además de ayudarte en lo que necesites o pasar un rato agradable con nosotros.

Ayuda php

hlacu

Nuevo
Registrado
20 Dic 2021
Mensajes
12
Puntos
1
Edad
41
Hola, tengo que hacer un ejercicio de php que no sé cómo resolver. Ante todo decir que no espero que nadie me diga el código línea a línea para copiarlo, si no que me echéis una mano para entender la lógica.

Me piden una web con un formulario, que una vez rellenado el formulario, en lugar del formulario muestre un texto tal que así:
Tu usuario es "xxx"
Tu contraseña es "yyyyyy"
etc...
No sé cómo hacer esto. He creado el formulario, y una vez cumplimentado y pulsado el botón enviar, me muestra toda esta información debajo del formulario. ¿Cómo hago para que me muestre una cosa u otra una vez pulsado el botón?
Uno de los requisitos es que el action del formulario sea la misma página, no puedo sacar el php a un fichero a parte.
Os dejo lo que tengo hecho:

<html>
<head>
<meta charset="utf-8">
</head>
<body style="background-color:purple">

<form method="POST" action="<?php echo $_SERVER['PHP_SELF'];?>">
<h3>Información del usuario</h3>
<br />
<br />
Usuario: <input name="usuario" type="text" placeholder="Introduzca su nombre">
<br />
<br />
Contraseña: <input name="contraseña" type="password" placeholder="Introduzca su contraseña">
<br />
<br />
E-mail: <input name="e-mail" type="e-mail" placeholder="Introduzca su e-mail">
<br />
<br />
<h3>Datos personales</h3>
<br />
Sexo
<br />
<br />
<input name="sexo" type="radio" name="sexo"> Hombre
<br />
<input name="sexo" type="radio" name="sexo"> Mujer
<br />
<br />
<br />
Edad:
<select name="edad">
<?php
for($i=18; $i<=100;$i++)
{
echo "<option>$i"
;}
?>
</select>
<br />
<br />
<h3>Vivienda</h3>
<br />
<?php
$vivienda=array("Vivienda propia","Alquiler", "Unipersonal", "Compartida");
foreach($vivienda as $v){
echo "<input type=checkbox>$v<br/>";
}
?>
<br />
<br />
Comentarios
<br />
<input name="comentarios" type="textarea" rows="30">
<br />
<br />
País:
<select name="pais">
<?php
$pais=array('España','Francia','Portugal','Croacia','Italia','Alemania');
foreach($pais as $valor){
echo "<option> $valor";
}
?>
</select>
<br />
<br />
Colores:
<br />
<br />
<select name="colores" multiple size="3">
<?php
$colores=array('Verde', 'Negro', 'Rojo', 'Azul', 'Amarillo', 'Violeta', 'Gris');
foreach ($colores as $c) {
echo "<option> $c</option>";
}
?>
</select>
<br />
<br />
<br />
<br />
<input name="enviar" type="submit" value="Enviar">
<?php
if(isset($_POST["enviar"]))
{
session_start();
$id=session_id();
$_SESSION["usuario"]=$_POST["usuario"];
$_SESSION["contraseña"]=$_POST["contraseña"];
$_SESSION["e-mail"]=$_POST["e-mail"];
$_SESSION["sexo"]=$_POST["sexo"];
$_SESSION["edad"]=$_POST["edad"];
$_SESSION["vivienda"]=$_POST["vivienda"];
$_SESSION["pais"]=$_POST["pais"];
echo "Tu número de sesión es el:"."$_session_id()"."<br/>";
echo "Usuario:".$_SESSION["usuario"]."<br/>";
echo "Contraseña:".$_SESSION["contraseña"]."<br/>";
echo "e-mail:".$_SESSION["e-mail"]."<br/>";
echo "Sexo:".$_SESSION["sexo"]."<br/>";
echo "Edad:".$_SESSION["edad"]."<br/>";
echo "Vivienda:".$_SESSION["vivienda"]."<br/>";
echo "Comentarios:".$_SESSION["comentarios"]."<br/>";
echo "Pais:".$_SESSION["pais"]."<br/>";
echo "Colores:".$_SESSION["colores"]."<br/>";

}
?>
</body>
</html>
 
1º tienes que poner el código PHP al principio de la página y controlar la variable $_POST, si esta vacia que muestre el formulario y si no esta vacía que muestre el texto.

<?php
session_start(); // siempre se pone al principio
if (isset($_POST["enviar"])) {
......
mostrar texto plano de las variables
....
} else {
.....
Mostrar formulario a rellenar
......
}
?>
 
¡Un millón de gracias!
 
Arriba