"redirection" très simple en php

Soyez le premier à donner votre avis sur cette source.

Snippet vu 19 206 fois - Téléchargée 26 fois

Contenu du snippet

Je cherchais un truc aussi simple en PHP qu'en Javascript ou en VBSCript pour rediriger une page vers une autre, lors de l'identification réussie d'un utilisateur sur IIS (dans le cadre d'un intranet).

La table Mysql (admin) a 4 champs :

No (incrément auto)
Login
mdp
Niveau (pour savoir qui est admin ou autre)

Je vous livre donc les sources :

Source / Exemple :


-> index.htm

    <center>
    <form name=login action="logon.php" method="GET">
    <table align="center" valign="center">
    <tr><td>Login :</td><td><input type="text" name="Login"></td>
    <tr><td>Password:</td><td><input type="password" name="password"></td></tr>
    <tr><td colspan=1 align=center>
    <input type="submit" value="Login!"></td></tr>
    </table>
    </form>
    </center>

-> Conn.php (permet de se connecter à ma base MySQL) :

<?php
	$host = "localhost";
	$user = "root";
	$pass = "MonMotDePasse";
	$bdd = "MaBaseDeDonnees";
	@mysql_connect($host,$user,$pass) or die("Impossible de se connecter à la base de données"); 
	@mysql_select_db("$bdd") or die("Impossible de se connecter à la base de données");
?>

-> logon.php

<?php
	$Login=$_GET["Login"];
	$pwd=$_GET["password"];
	if (Login=="")
	{
		echo "Votre CPPOSS $CPPOSS n'est pas valide";
		exit();
	}
	if ($pwd=="")
	{
		echo "Veuillez saisir un mot de passe.";
		exit();
	}
	require "../Fonctions/Conn.inc.php";
	$sqlFete="select * from Admin where login=$Login and mdp=\"$pwd\";";

	$result = mysql_query($sqlFete);
	$nb=mysql_numrows($result);
	if ($nb==0)
	{
		echo "Mot de passe ou CPPOSS erroné";
		exit();
	}
	mysql_close();
	session_name("Recommandes");
	session_start();
	require "MaPage.htm";
?>

Conclusion :


Si l'utilisateur saisit un Login et mot de passe valide, PHP intègre la page MaPage.htm.

et ça marche sous IIS !!

Voilààààààààààààààààà à ++

A voir également

Ajouter un commentaire

Commentaires

cs_grandvizir
Messages postés
1237
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
12
Pour répondre à gege217, biensûr que ça ne marche pas si JS n'est pas actif. Ce que je voulais dire, c'est que même s'il est actif, si PHP génère du JS au milieu de l'HTML, le navigateur doit l'interpréter, ce qui n'est pas toujours fait avec FireFox. J'ai eu un petit pb de ce genre avec mon code http://www.phpcs.com/code.aspx?id=29594. Du coup, j'ai fait rajouter petit un lien de redirection...

Sinon, pour rediriger, on peut aussi faire:
header("Location: {$url}");
cs_glad
Messages postés
97
Date d'inscription
lundi 26 novembre 2001
Statut
Membre
Dernière intervention
24 février 2012

Salut,

J'avais un peu oublié cette source !

Maintenant, j'utilise le javascript pour les redirections et ça marche bien :

<script language="javascript">
document.location.href='monfichier.php';
</script>

A ++
cs_gege217
Messages postés
40
Date d'inscription
jeudi 23 janvier 2003
Statut
Membre
Dernière intervention
13 août 2008

>> Sauf que ça ne redirige pas toujours dans certains navigateurs et dans certaines conditions.

Quand javascript n'est pas activé par exemple ...
;-)

Je ne crois pas que ce soit nécéssaire de faire un client serveur juste pour changer de page. Tu perds du temps en terme de rapidité d'execution et d'enchainement de page...

.oOMimiLOo.
cs_grandvizir
Messages postés
1237
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
12
L'autre redirection possible est de passer par du JavaScript. On écho ce qui suit et puis voilà:
<script> location = 'page.html'; </script>

Sauf que ça ne redirige pas toujours dans certains navigateurs et dans certaines conditions.
cs_gege217
Messages postés
40
Date d'inscription
jeudi 23 janvier 2003
Statut
Membre
Dernière intervention
13 août 2008

>> Je sais bien gege217, mais j'utilise IIS dans ma boîte, je n'ai pas le choix ... !!

C'est le moment de les faire changer !

>> Il ne faut pas dire que Linux/Apache n'a pas de pb de sécurité, il y en a beaucoup moins, c'est plus honnête.

Exact, mais tu avouras quand même que c'est pas normal que quand tu installes IIS, la première chose à faire est d'installer les 50 patchs de sécurité avant de pouvoir travailler... Alors qu'avec apache, tu n'as pas tous ces tracas... :-)

.oOMimiLOo.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.