probleme avec location

Répondre
vengeur002
le 27/02/2007 à 11:17
vengeur002
Bon g un truc bizzarre

voici on code

<?php
if (isset($_GET['error'])) {
if ($_GET['error']==1) {
$erreur = 'Pour répondre a une annonce vous devez être connecté .';
}
}
if (isset($_GET['id'])) {
$location = 'repondre.php?id='.$_GET['id'];
$essai = 'oui';
}
else {
$location = 'membre.php';
$essai = 'non';
}


header('Location: '.$location.'');
exit();

echo ''.$location.$essai.';

?>


quoi qu il arrive la page est rediriger sur membre.php
si mon le get-['id'] est present mon echo $location me donne bien repondre.php?id=???
et mon $essai me donne bien oui

pourtant la redirection se fait sur membre.php

quelqu un vois le probleme?

merci
i M@N
le 27/02/2007 à 12:43
i M@N
Hello.

C'est pas un truc comme ça que tu cherches à faire :
<?php

/*fonction nous permettant de faire des redirections*/

function redirection($url){

if (headers_sent()){

print('<meta http-equiv="refresh" content="0;URL='.$url.'">');

}

else {

header("Location: $url");

}

}
/*on récupère la variable $error issue de $_GET*/
if (isset($_GET["error"])) $error = $_GET["error"]; else $error = 1;
/*si la variable $id issue de $_GET existe*/
if (isset($_GET["id"])) {
/*on l'initialise*/
$id = $_GET["id"];
/*on redirige*/
redirection('./repondre.php?id='.$id.'');

/*on termine le script*/
exit;
}

if ($error==1) {
/*on affiche une alerte JavaScript*/
echo '<body onLoad="alert(\'Pour répondre a une annonce vous devez être connecté.\')">';
/*on redirige*/
redirection('./membre.php');
/*on termine le script*/
exit;
}

?>


@+...
One Love, One Heart, One Unity.
vengeur002
le 27/02/2007 à 13:08
vengeur002
oui enfin je suppose g pas encore essayer mais ca ne me dis pas pourquoi mon script ne fonctionne pas? :(

il devrai fonctionner non?
vengeur002
le 27/02/2007 à 13:35
vengeur002
en fait qd un membre veux repondre a une annonce (sur repondre.php)et que la session n est pas declare il est rediriger sur la page de log (connection.php)

sur la page de log je voudrai qu une fois logger il soit rediriger sur la page de reponse avec une incrementation get ce qui permettrai de selectionner directement l annonce a laquelle le visiteur voulais repondre.

mais si le membre va sur la page connection sans passer par reponse.php lorsqu il est logguer je veux qu il spoit redirige vers membre.php or ds ton script le membre est rediriger sur membre qd $error vaut 1
le $error ne sert qu'a afficher le message "vous devez etre connecter pour repondre a une annonce"
mais ce message n apparait pas si le visiteur viens directement sur connection sans passer par repondre.php

autreent dis on est rediriger qu une fois que le formulaire de logg a ete envoyer , les infos verifier et la session declarée

voila je pense que ce sera plus clair
khalad
le 10/03/2007 à 09:14
khalad
Bonjour

JE ne suis pas non plus un programmeur confirmé, mais je pense en lisant ton code, que ton header qui te pointe sur membre.php tu dois le mettre dans ton else. Tu n'y a mis que les variables. Si on lis le code, ca fait

SI action GET
bloc instruction
SINON
bloc instruction avec tes variables
on en sort
et on affiche membre.php

donc je pense qu'il faudrait mettre membre.php dans le else.

voila, essaie voir.
vengeur002
le 10/03/2007 à 10:10
vengeur002
lol

il est vieux ce post xD

mais si tu regarde bien tu verra que la redirection se fait selon qu on ai un id declare ou pas

donc si on a get id on redirige sur repondre.php

sinon sur membre

smiley
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours