Cita:
Iniciado por Josemi16 Ya he leido dos manuales,
pero mi pregunta es:
en una página "loquesea.html" pongo el código:
<?php
$login = true;
$logins[0]["pass"] = "password1";
$logins[0]["redirect"] = "carlos.php";
$logins[1]["pass"] = "password2";
$logins[1]["redirect"] = "cristian.php";
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Contraseña:<br />
<input type="password" name="pass" /><br />
<input type="submit" name="submit" value="Entrar" />
</form>
y en otra pagina pongo:
<?
$p = $_POST['pass'];
$claves = array();
$claves['mi_clave1'] = 'lugar/archivo.html';
$claves['mi_clave2'] = 'lugar/otro.html';
$claves['mi_clave3'] = 'lugar/mas.html';
$claves['mi_clave4'] = 'lugar/etc.html';
header("location: {$claves[$p]}");
?>
no es así???
pero, como se debe llamar la página en la que pongo el segundo código?
y Gracias por estar como dijistes más arriba, para ayudar.
para que el apache reconozca el codigo en php vas a tener que utilizar la extencion correcta en el archivo, loquesea.html solo va a leer codigo html, para que funcione necesitas renombrar loquesea.php, entonces va a interpretar el codigo
en cuanto a la pregunta que haces eso depende de a donde apunta el formulario, en el caso anterior esta apuntando al mismo documento en el que esta corriendo
en esta linea se puede observar a donde apunta
Código php:
Ver original<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
// donde $_SERVER['PHP_SELF'] devuelve la direccion actual
por lo tanto en este caso la comprobacion de la respuesta se hace en el mismo archivo, el mismo podria quedar de la siguiente manera:
Código php:
Ver original<?php
$claves['mi_clave1'] = 'lugar/archivo.html';
$claves['mi_clave2'] = 'lugar/otro.html';
$claves['mi_clave3'] = 'lugar/mas.html';
$claves['mi_clave4'] = 'lugar/etc.html';
$form = '<form action=" '.$_SERVER['PHP_SELF'].' " method="post">
Contraseña:<br />
<input type="password" name="pass" /><br />
<input type="submit" name="submit" value="Entrar" />
</form>';
if($_POST['pass']){
$p = $_POST['pass'];
//se podria comprobar que exista el array con la clave para no reenviar a una direccion invalida de la siguiente forma
header("location: {$claves[$p]}"); }else{
// si el array no existe con esa clave carga el formulario
echo 'la clave no existe<br/>';
echo $form;
}
}else{
// si no se envio el formulario
echo $form;
}