À partir d'une page d'administration si l'utilisateur est valide, le navigateur doit accéder à une autre page.
Lorsqu'un utilisateur entre son nom d'utilisateur et son mot de passe, puis clique sur le bouton OK, une autre page s'affiche et la page de connexion se ferme automatiquement.
Comment puis-je faire cela avec JavaScript?
Pour simplement rediriger un navigateur en utilisant javascript:
window.location.href = "http://example.com/new_url";
Pour rediriger ET soumettre un formulaire (c'est-à-dire les informations de connexion), aucun javascript n'est requis:
<form action="/new_url" method="POST">
<input name="username">
<input type="password" name="password">
<button type="submit">Submit</button>
</form>
Vous ne pouvez pas faire confiance à JavaScript côté client pour déterminer si les informations d'identification de l'utilisateur sont correctes. Le navigateur (et tout le code qui l'exécute) est sous le contrôle de l'utilisateur, et non de vous. Il n'est donc pas digne de confiance.
Le nom d'utilisateur et le mot de passe doivent être entrés à l'aide d'un formulaire. Le bouton OK sera un bouton de soumission. L'attribut d'action doit pointer sur une URL qui sera gérée par un programme qui vérifie les informations d'identification.
Ce programme pourrait être écrit en JavaScript, mais la façon de procéder dépend du type de moteur JavaScript côté serveur que vous utilisiez. Notez que SSJS n'est pas une technologie grand public, donc si vous voulez vraiment l'utiliser, vous devrez utiliser un hébergement spécialisé ou administrer votre propre serveur.
(Une demi-décennie plus tard et SSJS est beaucoup plus répandu grâce à Node.js, il est quand même assez spécialisé).
Si vous souhaitez rediriger ensuite, le programme doit émettre un en-tête d'emplacement HTTP .
Notez que vous devez vérifier que les informations d'identification sont correctes (généralement en stockant un jeton, qui n'est pas le mot de passe réel, dans un cookie) avant de générer une page privée. Sinon, n'importe qui pourrait accéder aux pages privées en connaissant l'URL (et en contournant ainsi le système de connexion).
La vérification qu'un utilisateur est un administrateur en javascript crée des problèmes, car le code javascript est visible par quiconque. Le serveur est celui qui doit faire la différence entre un administrateur et un utilisateur régulier APRÈS le processus de connexion, puis générer la nouvelle page en conséquence.
Peut-être que ce n'est pas ce que vous essayez de faire pour répondre à votre question:
window.location.href="<the page you are going to>";
Essaye ça,
window.location.href="sample.html";
Ici sample.html
est une page suivante. Cela ira à la page suivante.
La solution correcte que je reçois est
<html>
<head>
<script type="text/javascript" language="JavaScript">
function clickedButton()
{
window.location = 'new url'
}
</script>
</head>
<form name="login_form" method="post">
..................
<input type="button" value="Login" onClick="clickedButton()"/>
</form>
</html>
Ici, la nouvelle URL est indiquée dans la citation simple.
La méthode la plus simple est window.location.href = "http://example.com/new_url";
Mais que se passe-t-il si vous voulez vérifier si le nom d'utilisateur et le mot de passe sont vides ou non, et envoyez-les au php pour vérifier si l'utilisateur est dans la base de données. Vous pouvez le faire facilement en suivant ce code.
forme html -
<form name="myForm" onsubmit="return validateForm()" method="POST" action="login.php" >
<input type="text" name="username" id="username" />
<input type="password" name="password" id="password" />
<input type="submit" name="submitBt"value="LogIn" />
</form>
validation javascript-
function validateForm(){
var uname = document.forms["myForm"]["username"].value;
var pass = document.forms["myForm"]["password"].value;
if((!isEmpty(uname, "Log In")) && (!isEmpty(pass, "Password"))){
return true;
}else{
return false;
}
}
function isEmpty(elemValue, field){
if((elemValue == "") || (elemValue == null)){
alert("you can not have "+field+" field empty");
return true;
}else{
return false;
}
}
vérifie si l'utilisateur de la base de données utilise php
<?php
$con = mysqli_connect("localhost","root","1234","users");
if(mysqli_connect_errno()){
echo "Couldn't connect ".mysqli_connect_error();
}else{
//echo "connection successful <br />";
}
$uname_tb = $_POST['username'];
$pass_tb = $_POST['password'];
$query ="SELECT * FROM user";
$result = mysqli_query($con,$query);
while($row = mysqli_fetch_array($result)){
if(($row['username'] == $uname_tb) && ($row['password'] == $pass_tb)){
echo "Login Successful";
header('Location: dashbord.php');
exit();
}else{
echo "You are not in our database".mysqli_connect_error();
}
}
mysqli_close($con);
?>
Essaye ça:
window.location.href = "http://PlaceYourUrl.com";
espérons que cela aiderait:
window.location.href = '/url_after_domain';
Pour les développeurs MVC, rediriger un navigateur à l'aide de javascript:
window.location.href = "@Url.Action("Action", "Controller")";