Redirection vers une nouvelle page, une fois la connexion réussie
Je suis sûr que cette question a été posée mais j'ai cherché en profondeur de la réponse, mais en vain. (Les seules réponses que j'ai vu impliquer ajax) Mais je suis juste en utilisant javascript, PHP et HTML.
J'ai un login.php page et j'ai déjà créé une page HTML qui sera la page d'atterrissage droit après qu'un utilisateur est connecté. Comment puis-je aller à ce sujet?
Voici mon code pour la page de connexion et la page d'accueil après la connexion est appelé transfer.html:
LOGIN.PHP
<div id="content">
<h3>Login to Internet Banking</h3>
<form id="login" action="" method="post">
<p>
<label for="userid">UserID:</label>
<input type="text" name="UserID" id="UserID"/>
</p>
<p>
<label for="PIN">PIN:</label>
<input type="password" name="PIN" id="PIN" />
</p>
<p>
<input type="submit" name="btnSend" value="Login" class="submit_button" />
</p>
</form>
<td> </td>
<p>
Not yet registered?
<a href="registration.php">Click here to register</a>
</p>
<div id="wrap">
<!-- start PHP code -->
<?php
mysql_connect("localhost", "root", "") or die(mysql_error()); //Connect to database server(localhost) with UserID and PIN.
mysql_select_db("registrations") or die(mysql_error()); //Select registration database.
if(isset($_POST['name']) && !empty($_POST['name']) AND isset($_POST['PIN']) && !empty($_POST['PIN'])){
$UserID = mysql_escape_string($_POST['name']);
$PIN = mysql_escape_string(md5($_POST['PIN']));
$search = mysql_query("SELECT UserID, PIN, active FROM users WHERE UserID='".$UserID."' AND PIN='".$PIN."' AND active='1'") or die(mysql_error());
$match = mysql_num_rows($search);
if($match > 0){
$msg = 'Login Complete! Thanks';
}else{
$msg = 'Login Failed!<br /> Please make sure that you enter the correct details and that you have activated your account.';
}
}
?>
<!-- stop PHP Code -->
<?php
if(isset($msg)){ //Check if $msg is not empty
echo '<div class="statusmsg">'.$msg.'</div>'; //Display our message and add a div around it with the class statusmsg
} ?>
</div>
</div>
- que voulez-vous vraiment?
- Jetez un oeil à header()
- Bienvenue à Débordement de Pile! S'il vous plaît, n'utilisez pas
mysql_*
fonctions pour écrire du nouveau code. Il n'est plus maintenu et que la communauté a commencé la dépréciation du processus. Voir le boîte rouge? Au lieu de cela, vous devriez en apprendre davantage sur les instructions préparées soit PDO ou MySQLi. Si vous choisissez de PDO voici un bon tutoriel. - Tout d'abord, vous devez spécifier dans le <FORM> étiquette de valeur de l'ACTION qui est de la page, pour vous connecter. L'autre chose est que si vous avez votre .fichier html sûrement peut contourner votre login.php et ouvert .page html directement. Troisième chose, c'est que je ne sais pas ce que votre code PHP va faire, vous devriez probablement prendre votre partie HTML pour premier site et ce code PHP à l'autre page php qui fait de l'exploitation forestière.
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, déplacez tous de votre code PHP vers le haut. Sans elle, mon code ci-dessous ne fonctionnent pas.
De faire la redirection, utilisation:
Aussi, veuillez tenir compte de mes conseils. Puisque ce n'est pas la première question aujourd'hui et toutes vos questions sont liées à l'essentiel, vous devriez envisager la lecture de quelques bons PHP livre, afin de comprendre comment les choses fonctionnent.
Vous trouverez ici des liens utiles vers des livres gratuitement:
https://stackoverflow.com/tags/php/info
Essayer de l'en-tête("Location:home.php"); au lieu de montrer $msg = 'Login Complet! Merci';
Espérons que ça va vous aider.
Vous devez définir la
location
en-tête comme suit:Remplacement
http://www.example.com
bien sûr, avec l'url de votre page de destination.Ajouter cette où vous avez terminé l'enregistrement de l'utilisateur.
Note: Lors de la redirection de l'utilisateur sera immédiatement redirigé donc, vous êtes le message ne sera probablement pas à l'écran.
En outre, vous devez déplacer votre code PHP au début du fichier pour que cette solution fonctionne.
Sur une autre note de côté, voir mon commentaire ci-dessus concernant l'utilisation de l'obsolète
mysql
états et d'envisager d'utiliser la plus récente, plus sûr et l'amélioration demysqli
ouPDO
consolidés.Peut être utiliser comme cette
Vous pouvez également fournir un lien vers la page après la connexion et l'ont auto rediriger à l'aide de javascript au bout de 10 secondes.
Il suffit d'ajouter le code suivant après le message final que vous donnez à l'aide de code PHP
Impression'window.emplacement.assign("index.php")