Rechercher : dans
Par :

PHP : redirection automatique

Dernière réponse le 16 jun 2008 à 13:50:28 petitmarco, le 10 mar 2008 à 12:02:51 
 Signaler ce message aux modérateurs

Bonjour à tous

J'ai un formulaire php/html pour mettre à jour ma base sql, suite à l"execution de cette mise à jour via un bouton de formulaire (methode classique), je ne trouve pas le moyen de renvoyer automatiquement l'utilisateur vers une autre page.

Pour résumé, je souhaite qu'après l'execution de mon script PHP pour mettre à jour ma base, ce script ouvre une autre page (comme une redirection auto vers la page d'acceuil par exemple),

Merci de vos suggestions
La bêtise a ceci de terrible qu'elle peut ressembler à la plus profonde sagesse.
:-p

Configuration: Windows XP
Firefox 2.0.0.12

1

magichit, le 10 mar 2008 à 12:10:29

Salut,
ajoutes aprés ton script qui modifies la base de données:
header('Location: mapage.php');

Par contre l'instruction ne doit pas être entre des balises <html> car dans ce cas l'header est déjà chargé et ne se rechargera pas. Donc si c'est seulement un script .php qui traites des variables post pas de soucis.

Répondre à magichit

2

petitmarco, le 10 mar 2008 à 12:24:47
  • +1

Il y a bien cette fonction, mais s'execute tout de suite, existe il l'équivalent en Javascript à mettre dans le clic du bouton
header('Location: index.html');

pour info : voici le code de ma page "a.php":
--------------------------------------------------------------------
<body background="mm_bg_red.gif" bgcolor="#050000" text="#ffffff" link="#000080" vlink="#800080" alink="#ff0000" scroll="no"
ONLOAD="javascript:document.saisie.nom.focus()">

<form name="saisie" action="a.php" method="post">

<table summary="" border="0">
<tr>
<td>Nom : </td>
<td><input type="text" name="nom"></td>
</tr>
<tr>
<td>Score : </td>
<td><input type="text" name="score"></td>
</tr>
<tr>
<td>Niveau : </td>
<td><input type="text" name="niveau"></td>
</tr>
</table>
<input type="submit" value="Envoyer" ONCLICK="return verif_donnee()"><br>

<?php

if (!empty($nom))
{

$serveur=mysql_connect("******", "******", "");
mysql_select_db ("******");

$sql="insert into top (nom, score, niv) values ('$nom', '$score', '$niveau')";
mysql_query ($sql);

$sql="select * from top order by score desc";
$resultat=mysql_query ($sql);
$nb=mysql_num_rows ($resultat);
echo "Enregistrement réussi - nb enregistrement : $nb<br>";

mysql_close($serveur);
}
?>
<input type="reset" value="Retour" onclick=window.open("index.html",target="_self")>
</form>

</body>
</html>
La bêtise a ceci de terrible qu'elle peut ressembler à la plus profonde sagesse.
:-p

Répondre à petitmarco

3

petitmarco, le 10 mar 2008 à 12:33:41
  • +2

Ok ça marche, il faut juste que je place ce bout de code au bon endroit, c'est à dire à la fin et dans mon IF.

Merci pour ta réponse Magichit
La bêtise a ceci de terrible qu'elle peut ressembler à la plus profonde sagesse.
:-p

Répondre à petitmarco

4

magichit, le 10 mar 2008 à 12:40:48

Pas de oucis :)
l'équivalent js est de réécrire l'URL de la page. Par contre pour faire une redirection chronométrée, après x secondes, il faut passer par un compteur de temps en javascript.

Répondre à magichit

5

 petitmarco, le 16 jun 2008 à 13:50:28

Merci
La bêtise a ceci de terrible qu'elle peut ressembler à la plus profonde sagesse.
:-p

Répondre à petitmarco
Collection CommentÇaMarche.net