problème de redirection de page

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : problème de redirection de page

Re: problème de redirection de page

par bostak » 17 déc. 2011, 20:38

merci beaucoup, effectivement je m'étais embrouillé dans mes conditions j'ai tout bien remis en place, cela fonctionne très bien.

Merci beaucoup.

Cordialement,

Re: problème de redirection de page

par Calimero » 17 déc. 2011, 19:56

Bonsoir,

Tu as perdu le fil dans les if() / elseif() / else tout simplement. La condition qui te pose problème se trouve elle-même dans une clause else qui l'exclut complètement.
Alors voilà le index.php :
<?php
// ......

	/*Fin connexion*/
	
	if(isset($_GET["page"]))
   {
   
      /*Formulaire Inscription Utilisateur*/
         
// ........		
	}
	else
	{
		 // vu qu'on est dans le else du if() du dessus, le code ci-dessous va avoir du mal à s'éxécuter...	
		if(isset($_GET["page"]) && $_GET["page"] == "update")
		{
			include("views/vueEditBillet.php");
		}
		include("views/vueNavigation.php");
		include("views/vueMenu.php");
		include("views/vueBillet.php");

	}

?>
Ton éditeur de code, s'il est efficace et bien paramétré, doit pouvoir t'aider à visualiser les correspondances entre les accolades pour détecter ce genre d'erreur.

Pour rendre ton code plus clair, tu peux aussi regarder l'instruction switch() : http://fr.php.net/manual/fr/control-str ... switch.php

problème de redirection de page

par bostak » 17 déc. 2011, 19:10

Bonsoir,

J'ai encore une fois besoin de votre aide précieuse. J'ai trois fichiers, un index.php, un vueBillet.php et un fichier vueEditBillet.php (enfin j'ai bien plus que 3 fichiers mais c'est ces 3 fichiers qui sont problématiques).

Alors voilà le index.php :

Code : Tout sélectionner

<?php session_start(); include("pages/connect_db.php"); connexion_db(); include("views/vueDoctype.php"); /*Connexion d'un utilisateur*/ if(isset($_POST["connexion"])) { include("pages/connexion.php"); include("pages/takeId.php"); if(isset($_POST["login"]) && isset($_POST["pass"]) && !empty($_POST['login']) && !empty($_POST['pass'])) { if(verifUser($_POST["login"], md5($_POST["pass"])) == 0) { $connexionError = failConnexion("Adresse mail ou mot de passe incorrect"); } else { $_SESSION["login"] = $_POST["login"]; $_SESSION["id"] = takeId($_SESSION["login"]); include("views/vueDoctype.php"); include("views/vueContentPosterBillet.php"); } } } if(isset($_GET["page"]) && $_GET["page"] == "envoyer") { include("pages/insertionBillet.php"); $created= date('Ymd'); insertionBilletToDb($_POST['title'], $_POST['content'], $created, $_SESSION['id']); } /*Fin connexion*/ if(isset($_GET["page"])) { /*Formulaire Inscription Utilisateur*/ if ($_GET["page"] == "inscription") { /*On vérifie que l'internaute qui veut s'inscrire n'est pas connecté*/ if(!isset($_SESSION["login"])) { include("pages/insertion.php"); include("pages/inscription.php"); if(isset($_POST['login']) && isset($_POST["inscription"])) { $loginError = errorChampLogin($_POST['login']); $login = $_POST['login']; } if(isset($_POST['mail']) && isset($_POST["inscription"])) { $mailError = errorChampMail($_POST['mail']); $mail = $_POST['mail']; } if(isset($_POST['pass']) && isset($_POST["inscription"])) { $passError = errorMdp($_POST['pass']); $pass = $_POST['pass']; } if(isset($_POST['passverif']) && isset($_POST["inscription"])) { $passverifError = errorMdpVerif($_POST['passverif'], $_POST['pass']); $passverif = $_POST['passverif']; } if (!isset($loginError)&& !isset($mailError) && !isset($passError) && !isset($passverifError) && isset($_POST["inscription"])) { $inscription = "inscription reussi"; registerUser($_POST['login'], $_POST['mail'], $_POST['pass']); echo '<meta http-equiv="refresh" content="1; index.php">'; $redirection = "finInscription"; } include("views/vueNavigation.php"); include("views/vueMenu.php"); include("views/vueContentInscription.php"); /*Fin formulaire Inscription*/ } else { header('Location: index.php'); } } /*Poster un billet*/ elseif ($_GET["page"] == "billet") { if(!isset($_SESSION["login"])) { header('Location: index.php'); } else { include("views/vueDoctype.php"); include("views/vueNavigation.php"); include("views/vueContentPosterBillet.php"); } } /*Fin poster Billet*/ else { header('Location: index.php'); } } else { if(isset($_GET["page"]) && $_GET["page"] == "update") { include("views/vueEditBillet.php"); } include("views/vueNavigation.php"); include("views/vueMenu.php"); include("views/vueBillet.php"); } ?>
le fichier vueBillet.php

Code : Tout sélectionner

<html> <head> </head> <body> <div id="body"> <?php $result = mysql_query("SELECT title, content FROM billets"); while($row=mysql_fetch_assoc($result)) { ?> <div id="titleBillet"> <?php echo ($row['title']); ?> </div> <div id="contentBillet"> <?php echo ($row['content']); ?> </div> <div id="updateBillet"> <a href="index.php?page=update">Editer billet</a> </div> <?php } ?> </div> </div> </body> </html>
et vueEditBillet.php

Code : Tout sélectionner

<html> <head> </head> <body> <form method="post" action=""> <table> <tr> <td> Titre : </td> <td> <?php if (isset($truc)) echo'<input type="text" name="title" value="'.$truc.'" />'; ?> </td> </tr> <tr> <td> <?php if (isset($bidule)) echo'<textarea name="content" value="'.$bidule.'" />'; ?> </td> </tr> <tr> <td> <input type="submit" name="Editer" value="éditer" /> </td> </tr> </table> </form> </body> </html>
Dans le fichier vueBillet.php

j'ai un lien comme ceci : <a href="index.php?page=update">Editer billet</a>

et donc sur ma page de idnex.php j'ai ceci :

Code : Tout sélectionner

if(isset($_GET["page"]) && $_GET["page"] == "update") { include("views/vueEditBillet.php"); }
mais cela ne fonctionne pas, j'ai testé avec firebug, quand je clic cela me renvoie sur ma page index.php

Auriez vous des idées ?

Cordialement,