oli1987 | Bonsoir,
Mon problème se situe à la redirection d'une page vers une autre.
Dans un formulaire, l'internaute saisit deux champs oùles données sont envoyées vers une table. Jusque là, tout va bien. Mais lors de ma redirection, la page redirigée est la meme que celle oùétait présent le formulaire alors qu'il devrait déboucher sur une autre pour informer l'utilisateur que tout s'ets bien passé.
Le code suivant est celui de ma page index.php reprenant d'autres pages via les différentes includes:
Code :
- <table align="center" border="1" cellpadding="0" cellspacing="0" bordercolor="#ffffff" width="920">
- <tr>
- <td>
- <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="920" background="../Images/backgroundtable.gif">
- <tr>
- <td height="96" colspan="3" width="920"> </td>
- </tr>
- <tr>
- <td valign="middle" height="94" colspan="3" width="918"><?php include("../menu.php" ) ; ?></td>
- </tr>
- <tr>
- <td valign="top" width="182" height="460" rowspan="2"><?php include("../connect.php" ) ; ?></td>
- <td valign="top" width="556" height="460" rowspan="2"><?php include $page; ?></td>
- <td valign="top" width="178" height="460" rowspan="2"><?php include("../rightcolumn.php" ) ; ?></td>
- </tr>
- </table>
|
<?php include $page; ?>: correspond à la page où se trouve mon formulaire.
Voici le code de la page en question
Code :
- <?php
- mysql_connect("localhost", "******", "******" ) or die("Impossible de se connecter : " . mysql_error());
- mysql_select_db("******" );
- ?>
- <?php
- function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "" )
- {
- $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;
- switch ($theType) {
- case "text":
- $theValue = ($theValue != "" ) ? "'" . $theValue . "'" : "NULL";
- break;
- case "long":
- case "int":
- $theValue = ($theValue != "" ) ? intval($theValue) : "NULL";
- break;
- case "double":
- $theValue = ($theValue != "" ) ? "'" . doubleval($theValue) . "'" : "NULL";
- break;
- case "date":
- $theValue = ($theValue != "" ) ? "'" . $theValue . "'" : "NULL";
- break;
- case "defined":
- $theValue = ($theValue != "" ) ? $theDefinedValue : $theNotDefinedValue;
- break;
- }
- return $theValue;
- }
- $editFormAction = $_SERVER['PHP_SELF'];
- if (isset($_SERVER['QUERY_STRING'])) {
- $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
- }
- if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "formnews" )) {
- $insertSQL = sprintf("INSERT INTO newsletter (date, pseudo, email) VALUES (now(), %s, %s)",
- GetSQLValueString($_POST['requiredNom'], "text" ),
- GetSQLValueString($_POST['requiredEmail'], "text" ),
- GetSQLValueString($_POST['date'], "text" ));
- mysql_select_db($database_newsletter, $newsletter);
- $Result1 = mysql_query($insertSQL) or die(mysql_error());
- $insertGoTo = "index.php?rub=2";
- if (isset($_SERVER['QUERY_STRING'])) {
- $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
- $insertGoTo .= $_SERVER['QUERY_STRING'];
- }
- header(sprintf("Location: %s", $insertGoTo));
- }
- ?>
- <?php
- mysql_select_db($database_newsletter, $newsletter);
- $query_newsletter = "SELECT * FROM newsletter";
- $newsletter = mysql_query($query_newsletter) or die(mysql_error());
- $row_newsletter = mysql_fetch_assoc($newsletter);
- $totalRows_newsletter = mysql_num_rows($newsletter);
- ?>
- <table align='center' border='1' bordercolor='#ffffff' width='450'>
- <tr>
- <td>
- <FORM name="formnews" method="POST" action="<?php echo $editFormAction; ?>" onSubmit="return checkrequired(this)">
- <table align='center' bgcolor='#000000' border='0' width='450' height='300'>
- <tr>
- <td align="left" width="236" colspan="3" height="43"><font face="Arial" color="#ffffff"><b>
- <span style="font-size: 8pt">
- Votre nom</span></b></font></td>
- <td width="214" colspan="3" height="43"><font size="2" face="Verdana" color="#C5C5C5"><u><b>
- <input type="hidden" name="date" value="date()"><input type="text" name="requiredNom" size="23" style="font-size: 10 pt"></b></u></font></td>
- </tr>
- <tr>
- <td align="left" width="236" colspan="3" height="43"><font face="Arial" color="#ffffff"><b>
- <span style="font-size: 8pt">
- Votre email</span></b></font></td>
- <td width="214" colspan="3" height="43"><font size="2" face="Verdana" color="#C5C5C5"><u><b>
- <input type="text" name="requiredEmail" size="23" style="font-size: 10 pt"></b></u></font></td>
- </b></u></font></td>
- </tr>
- <tr>
- <td height="50" colspan="6" width="450">
- <p align="center"><input type="submit" value="Envoyer le résultat"></td>
- </tr>
- </table>
- <input type="hidden" name="MM_insert" value="formnews">
- </FORM>
- </td>
- </tr>
- </table>
- <?php
- mysql_free_result($newsletter);
- ?>
|
Et donc, malgré tout cela, la redirection ne s'opère pas vers index.php?rub=2 comme indiqué, mais vers la page initiale.
Si quelqu'un pouvait m'aider...
Merci d'avance
PS: Lorsque j'exécute le formulaire avec l'include, dans ma page index.php donc, ca foire. Mais si je prends la page à part (sans l'include) ca marche .... Message édité par oli1987 le 30-04-2006 à 22:31:16
|