jlb59 Posté 12 Avril 2008 Posté 12 Avril 2008 Bonsoir à tous, Je voudrais simplement savoir si ce code est possible <input style="background-color:black;color:white" type="button" value="Quitter" onclick="window.location=<?PHP header(\'Location:index.php\')?>"> En fait, j'essaie avec Header(location... parce que je connais pas très bien cela. Le but est de renvoyer à l'index du site en cliquant le bouton. Je sais que cela peut se faire avec "windows.location=../index.php...", mais je voulais voir avec autre chose ! Merci d'avance de vos réponses.
pluriels Posté 12 Avril 2008 Posté 12 Avril 2008 (modifié) bonsoir, tu ne peux pas utiliser la fonction header de PHP à cet endroit. Comme son nom l'indique, la fonction header permet d'envoyer une entete HTTP au navigateur. Il faut qu'elle soit utilisée avant que le serveur n'envoie quoi que ce soit. Généralement, on la retrouve tout en haut de la page. Mais dans ton cas, elle précédée par du code HTML. Par contre pourquoi ne pas faire un simple lien ? Je te conseille aussi de réviser les formulaires HTML avec la balise FORM. Lionel Modifié 12 Avril 2008 par pluriels
jlb59 Posté 13 Avril 2008 Auteur Posté 13 Avril 2008 Merci Pluriels, je voulais simplement savoir parce que je ne maitrise absolument pas cette fonction et de plus, je ne sais pas comment et où s'en servir !
captain_torche Posté 13 Avril 2008 Posté 13 Avril 2008 Comme tu es parti sur du javascript, tu peux simplement faire ça : <input style="background-color:black;color:white" type="button" value="Quitter" onclick="document.location= 'index.php';">
jlb59 Posté 13 Avril 2008 Auteur Posté 13 Avril 2008 Oui, j'ai fait ça mais je voulais l'éviter, donc de trouver un autre moyen !
captain_torche Posté 13 Avril 2008 Posté 13 Avril 2008 Si tu veux te passer de javascript, il va falloir utiliser plus de code : <form method="post" action="page.php"><input type="submit" name="quitter" value="Quitter"></form> Et dans la page "page.php" : <?phpif(isset($_POST['quitter'])) { header('Location: index.php');}?>
jlb59 Posté 13 Avril 2008 Auteur Posté 13 Avril 2008 Je te remercie grandement, c'est très explicatif. J'ai fait ça ! echo("L'insertion a échoué.");// echo ("[ <a href=\"java script:history.go(-1)\">Retour page précédente</a> ]"); echo '<form method="post" action="choix.php">'; echo '<input type="submit" name="quitter" value="Quitter">'; echo '</form>'; }mysql_close(); Est-ce que c'est conforme ? Par contre, là où j'ai un mauvais aperçu, c'est le 2ème code que tu m'as donné. Le hic c'est que je n'ai pas d'index sur cette page et "header('Location: index.php');" en fait allusion !!!! Ton code me semble parfait mais j'ai du mal à percuter avec cela. Ce n'est pas nouveau parce que je ne sais pas comment m'en servir et surtout où.
Anonymus Posté 13 Avril 2008 Posté 13 Avril 2008 Bonjour, header : renvoie un entête au navigateur. Location : renvoie une localisation. Autrement dit, dit au navigateur qu'il faut aller à tel endroit. index.php > Donnes l'endroit, il faut aller sur index.php. Dans le cas : header("Location: index.php"); le serveur comprends : envoyer au navigateur l'instruction d'aller directement à la page 'index.php'. Quand tu dis : Je sais que cela peut se faire avec "windows.location=../index.php...", mais je voulais voir avec autre chose La réponse est : Non, il faudrait, pour utiliser la fonction 'header' le faire comme ceci : header("Location: index.php"); Le hic c'est que je n'ai pas d'index sur cette page et "header('Location: index.php');" en fait allusion !!!! Ah, mais tu parles, toi en premier, de 'index.php'. Alors ton code 'javascript' du premier post renvoie vers quel fichier ? <a href=\"java script:history.go(-1)\">Retour page précédente</a> javascript : en 1 mot, sinon c'est pas bon. header & Location : doivent être utilisés avant tout code html. Si tu renvoie du html, c'est pas bon. Si tu renvoies (ne serait-ce) un espace, ca n'est pas bon non plus. Le plus simple est donc de commencer ton fichier comme ceci: <?php et d'y mettre du php jusqu'à la fonction 'header'. Et ce php ne doit pas comporter de 'echo', sinon ca n'est pas bon non plus, ca va renvoyer quelque chose au navigateur, et il ne pourra plus être redirigé de cette manière. Pour t'aider plus, il nous faudrait le nom exact des pages, la fonction de celles-ci, et éventuellement le code de la page (au moins le début) qui renvoie vers la 2e page. Sinon, on ne voit pas trop où tu veux en venir.. Nico.
jlb59 Posté 14 Avril 2008 Auteur Posté 14 Avril 2008 Bonjour Anonymus, Je pense avoir bien compris tes explications. J'ai tout modifié pour avoir une meilleure utilisation de cette fonction. Je l'ai essayé... et ça marche. Le hic, c'est que j'ai un fichier général (renommé "index.php"); c'est à dire qui contient les liens (P1, P2, P3...). Donc, le location en question dans les différents fichiers me ramènent au général; jusque là, tout va bien. Mais si je choisi un lien, par exemple P1, dans cette page, j'ai un autre lien pour aller vers PP1 par exemple. Donc, quand je suis sur cette page (PP1), je fais le travail et à la fin, j'ai 2 possibilités : 1- revenir à la page précédente (vers P1) - utilisation du javascript (encore) 2- revenir au fichier général (vers index.php) - utilisation de header('Location: index.php') En faisant ça, c'est impeccable. Mais ce que je voudrais faire, dans le cas de PP1, c'est remplacer le javascript par du Php, et qui me ramènerait à la page précédente. Je ne sais pas si je me suis bien expliqué ???? Un dessin vaut mieux qu'un long discours : C'est plus facile à voir non ? T'as une idée à proposer ?
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant