redirection en PHP, question facile ... - PHP - Programmation
Marsh Posté le 18-01-2003 à 17:15:49
faut pas mettre le echo "pas ok"
et faire plutot : header( "erreur.php" )
ou si tu veux renvoyer sur la meem page :
header( index.php?erreur=1 ) et traiter la variable...
Marsh Posté le 18-01-2003 à 17:22:10
ben meme sans le "echo pas OK" ça marche pas, justement, je comprends pas pourquoi ... ça ne marche déjà pas dans le IF ... qui ne contient pas de ligne supplementaire que
"header("location: autogallery.php" ); "
j'ai toujours le meme message d'erreur
Marsh Posté le 18-01-2003 à 17:30:41
quand tu utilise header il ne faut avoir ecris aucun charactere avant,
donc deja le echo tu peux etre sur qu'il faut le virer.
ensuite, tu dois avoir des char qq part
regarde si tu as pas tu texte avant ton script
du genre:
debut fichier| <? heard( .....) ?>
ca foirerait car au debut y un char espace ' '
..... en fait, d'apres ce que tu me dit, j'ai peur que tu ai mal utilisé la fonction header, et que ce bout de script ce trouve dans un page enorme donc il va surement falloir que tu change la structure de ton site
Marsh Posté le 18-01-2003 à 17:35:26
ben c'est exactement ça, en fait voici la page entiere :
<html>
<head>
<title>test</title>
</head>
<body>
<?php
$mdp;
if ($mdp == "MOTDEPASSE" ) {
header( "location : autogallery.php" );
}
else {
header( "location : index.php" );
exit;
}
?>
</body>
</html>
Il faudrait que ce soit comment alors ??
Marsh Posté le 18-01-2003 à 17:51:17
spa du tout ce qu'il faut faire
si tu veux pouvoir rediriger le visiteur suivant son login faut faire :
1/
index.php:
ton "form" de d&part est du type : "action=LoginCheck.php"
2/
LoginCheck.php:
<?
if( test( $login,$pass) )
header(....);
else
hearder(....);
?>
Marsh Posté le 18-01-2003 à 18:00:57
Slvn a écrit : spa du tout ce qu'il faut faire |
1/ OK, c'est bien ça, avec une methode POST
2/ je le place comment ce code ?
avec un <head> et un <body> ? ou comme ça, sans rien ?
j'ai mis ça :
<?
$mdp;
if( $mdp == "MOTDEPASSE" )
header( "location : autogallery.php" );
else
header( "location : index.php" );
?>
sans rien de plus ... ça marche pas. Je n'ai plus de message d'erreur, mais je suis renvoyé sur rien. Page blanche.
Marsh Posté le 18-01-2003 à 18:11:56
faut le mettre sans rien en effet,
normallement tu es bien redirigé.
peut etre que c "location" avec un L majuscules ..
peut etre que ta page d arrivé est vierge ?!
peut etre que tu t es planté dans le nom de la page
ps: a chaque fois que ut fait un "header Location" il est recommandé de placer un "exit()" juste après...
Marsh Posté le 18-01-2003 à 18:20:22
Slvn a écrit : faut le mettre sans rien en effet, |
Marsh Posté le 18-01-2003 à 18:44:47
bon ben toujours pas ... je ne comprends pas. Je m'y remettrais plus tard, pour le moment, j'ai trouvé une parade simple, mais peu élégante !!
<?
$mdp;
if( $mdp == "MOTDEPASSE" )
{
echo ?><a href="autogallery.php">cliquez ici</a>
<?}
else
{
echo ?><a href="index.php">cliquez ici</a>
<?}?>
et on verra plus tard !!
merci de votre aide en tous cas !
a+
jibet
Marsh Posté le 18-01-2003 à 18:58:28
bah non ... mais là quand même ça aurait du marcher alors ... peut-etre qu'un autre jour ça marchera !
Marsh Posté le 18-01-2003 à 20:15:50
Code :
|
la si tu n'a rien avant les <? et rien arpes le ?> ca doit tout a fait marcher
persevere un peu
Marsh Posté le 18-01-2003 à 22:11:34
eh bien voila, la magie de l'informatique a oeuvré ... maintenant ça marche ... :lol:
Marsh Posté le 19-01-2003 à 00:17:12
Reply
Marsh Posté le 18-01-2003 à 17:10:33
Salut,
Voila, je cherche a rediriger une page vers une autre en fonction du mot de passe rentré.
J'ai cherché un peu sur le web et j'ai trouvé la commande suivante :
header("location: mapage.php" );
Je l'ai donc integré dans mon script qui est le suivant :
<?php
$mdp;
if ($mdp == "MOTDEPASSE" ) {
header("location: autogallery.php" );
}
else {
echo "pas OK";
header("location: index.php" );
}
?>
eh ben ca marche pas, en local ça me donne le message suivant :
Warning: Cannot add header information - headers already sent by ... etc
qu'est-ce qui ne va pas ??
a+
jibet