Problème de redirection php
soniadm
Messages postés
10
Statut
Membre
-
harderpod Messages postés 326 Date d'inscription Statut Membre Dernière intervention -
harderpod Messages postés 326 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
tout d'abord merci à tout ceux qui prendront le temps de m'aider;)
voici le souci: j'ai un formulaire avec envoi de pj.
Dans le cas où le formulaire est accepté, je souhaiterais rediriger l'internaute sur une autre page.
Or: avec le code suivant, quand j'envoie le formulaire, je retombe sur une page index.php?page=Nouveauxauteurs, je ne comprends pas pour quoi je n'attéris pas sur la page ?page=validationManuscrit.php tout simplement. J'ai toujours index.php avant l'url de ma page de redirection.
Idem pour le message d'erreur, en cas de fichier non conforme, je n'arrive pas à changer ma page de redirection.
j'ai vraiment besoin de votre aide!
MERCI D'AVANCE!;)
<?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']);
}
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$email = $_POST['email'];
$ref = $_POST['reference'];
$adresse = $_POST['adresse'];
$ville = $_POST['ville'];
$cp = $_POST['cp'];
$tel = $_POST['tel'];
$date = date("d-m-Y");
$heure = date("H");
$minutes = date("i");
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
$insertSQL = sprintf("INSERT INTO auteurs (ID, nom, prenom, adresse, ville, cp, tel, email, pass, statut, reference) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['ID'], "int"),
GetSQLValueString($nom, "text"),
GetSQLValueString($prenom, "text"),
GetSQLValueString($adresse, "text"),
GetSQLValueString($ville, "text"),
GetSQLValueString($cp, "text"),
GetSQLValueString($tel, "text"),
GetSQLValueString($email, "text"),
GetSQLValueString($_POST['pass'], "text"),
GetSQLValueString($_POST['statut'], "text"),
GetSQLValueString($ref, "text"));
mysql_select_db($database_Connexionbook, $Connexionbook);
$Result1 = mysql_query($insertSQL, $Connexionbook) or die(mysql_error());
if ($_FILES['nom_du_fichier']['error']) {
switch ($_FILES['nom_du_fichier']['error']){
case 1: // UPLOAD_ERR_INI_SIZE
echo"Le fichier dépasse la limite autorisée";
break;
case 2: // UPLOAD_ERR_FORM_SIZE
echo "Le fichier dépasse la limite autorisée dans le formulaire HTML !";
break;
case 3: // UPLOAD_ERR_PARTIAL
echo "L'envoi du fichier a été interrompu pendant le transfert !";
break;
case 4: // UPLOAD_ERR_NO_FILE
echo "Le fichier que vous avez envoyé a une taille nulle !";
break;
}
$insertGoTo = "../index.php";
}
else {
// $_FILES['nom_du_fichier']['error'] vaut 0 soit UPLOAD_ERR_OK
// ce qui signifie qu'il n'y a eu aucune erreur
$titre = $_FILES['nom_du_fichier']['name'];
move_uploaded_file ($_FILES['nom_du_fichier']['tmp_name'],"/homez.116/bookimpu/www/manuscrit/".$titre);
$headers1 ='From: "Book"<commande@book.com>'."\n";
$headers1 .='Reply-To: ut@book.com'."\n";
$headers1 .='Content-Type: text/html; charset="iso-8859-1"'."\n";
$headers1 .='Content-Transfer-Encoding: 8bit';
$message ='<html><head><title>Nouveau manuscrit</title></head>
<body>
Un nouveau manuscrit est disponible dans le dossier : www/manuscrit<br/>
Nom du fichier : '.$titre.'<br/>
Référence : '.$ref.'<br/>
Auteur : '.$prenom.' '.$nom.' ('.$email.')<br/>
Date : '.$date.' à '.$heure.'h'.$minutes.'
</body></html>';
mail('commande@book.com', 'Nouveau manuscrit', $message, $headers1);
$headers2 ='From: "Book"<commande@book.com>'."\n";
$headers2 .='Reply-To: ut@book.com'."\n";
$headers2 .='Content-Type: text/html; charset="iso-8859-1"'."\n";
$headers2 .='Content-Transfer-Encoding: 8bit';
$message2 ='<html><head><title>Félicitations !</title></head>
<body>
Si une des informations ci-dessous est incorrect, merci de répondre à cet email : <br/>
Prénom : '.$prenom.'<br/>
Nom : '.$nom.'<br/>
Téléphone : '.$tel.'<br/><br/>
</body></html>';
mail($email, 'Félicitations !', $message2, $headers2);
$insertGoTo ="?page=validationManuscrit.php";
}
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
@header(sprintf("Location: %s", $insertGoTo));
}
mysql_select_db($database_Connexionbook, $Connexionbook);
$query_rsAuteurs = "SELECT * FROM auteurs";
$rsAuteurs = mysql_query($query_rsAuteurs, $Connexionbook) or die(mysql_error());
$row_rsAuteurs = mysql_fetch_assoc($rsAuteurs);
$totalRows_rsAuteurs = mysql_num_rows($rsAuteurs);
?>
tout d'abord merci à tout ceux qui prendront le temps de m'aider;)
voici le souci: j'ai un formulaire avec envoi de pj.
Dans le cas où le formulaire est accepté, je souhaiterais rediriger l'internaute sur une autre page.
Or: avec le code suivant, quand j'envoie le formulaire, je retombe sur une page index.php?page=Nouveauxauteurs, je ne comprends pas pour quoi je n'attéris pas sur la page ?page=validationManuscrit.php tout simplement. J'ai toujours index.php avant l'url de ma page de redirection.
Idem pour le message d'erreur, en cas de fichier non conforme, je n'arrive pas à changer ma page de redirection.
j'ai vraiment besoin de votre aide!
MERCI D'AVANCE!;)
<?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']);
}
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$email = $_POST['email'];
$ref = $_POST['reference'];
$adresse = $_POST['adresse'];
$ville = $_POST['ville'];
$cp = $_POST['cp'];
$tel = $_POST['tel'];
$date = date("d-m-Y");
$heure = date("H");
$minutes = date("i");
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
$insertSQL = sprintf("INSERT INTO auteurs (ID, nom, prenom, adresse, ville, cp, tel, email, pass, statut, reference) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['ID'], "int"),
GetSQLValueString($nom, "text"),
GetSQLValueString($prenom, "text"),
GetSQLValueString($adresse, "text"),
GetSQLValueString($ville, "text"),
GetSQLValueString($cp, "text"),
GetSQLValueString($tel, "text"),
GetSQLValueString($email, "text"),
GetSQLValueString($_POST['pass'], "text"),
GetSQLValueString($_POST['statut'], "text"),
GetSQLValueString($ref, "text"));
mysql_select_db($database_Connexionbook, $Connexionbook);
$Result1 = mysql_query($insertSQL, $Connexionbook) or die(mysql_error());
if ($_FILES['nom_du_fichier']['error']) {
switch ($_FILES['nom_du_fichier']['error']){
case 1: // UPLOAD_ERR_INI_SIZE
echo"Le fichier dépasse la limite autorisée";
break;
case 2: // UPLOAD_ERR_FORM_SIZE
echo "Le fichier dépasse la limite autorisée dans le formulaire HTML !";
break;
case 3: // UPLOAD_ERR_PARTIAL
echo "L'envoi du fichier a été interrompu pendant le transfert !";
break;
case 4: // UPLOAD_ERR_NO_FILE
echo "Le fichier que vous avez envoyé a une taille nulle !";
break;
}
$insertGoTo = "../index.php";
}
else {
// $_FILES['nom_du_fichier']['error'] vaut 0 soit UPLOAD_ERR_OK
// ce qui signifie qu'il n'y a eu aucune erreur
$titre = $_FILES['nom_du_fichier']['name'];
move_uploaded_file ($_FILES['nom_du_fichier']['tmp_name'],"/homez.116/bookimpu/www/manuscrit/".$titre);
$headers1 ='From: "Book"<commande@book.com>'."\n";
$headers1 .='Reply-To: ut@book.com'."\n";
$headers1 .='Content-Type: text/html; charset="iso-8859-1"'."\n";
$headers1 .='Content-Transfer-Encoding: 8bit';
$message ='<html><head><title>Nouveau manuscrit</title></head>
<body>
Un nouveau manuscrit est disponible dans le dossier : www/manuscrit<br/>
Nom du fichier : '.$titre.'<br/>
Référence : '.$ref.'<br/>
Auteur : '.$prenom.' '.$nom.' ('.$email.')<br/>
Date : '.$date.' à '.$heure.'h'.$minutes.'
</body></html>';
mail('commande@book.com', 'Nouveau manuscrit', $message, $headers1);
$headers2 ='From: "Book"<commande@book.com>'."\n";
$headers2 .='Reply-To: ut@book.com'."\n";
$headers2 .='Content-Type: text/html; charset="iso-8859-1"'."\n";
$headers2 .='Content-Transfer-Encoding: 8bit';
$message2 ='<html><head><title>Félicitations !</title></head>
<body>
Si une des informations ci-dessous est incorrect, merci de répondre à cet email : <br/>
Prénom : '.$prenom.'<br/>
Nom : '.$nom.'<br/>
Téléphone : '.$tel.'<br/><br/>
</body></html>';
mail($email, 'Félicitations !', $message2, $headers2);
$insertGoTo ="?page=validationManuscrit.php";
}
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
@header(sprintf("Location: %s", $insertGoTo));
}
mysql_select_db($database_Connexionbook, $Connexionbook);
$query_rsAuteurs = "SELECT * FROM auteurs";
$rsAuteurs = mysql_query($query_rsAuteurs, $Connexionbook) or die(mysql_error());
$row_rsAuteurs = mysql_fetch_assoc($rsAuteurs);
$totalRows_rsAuteurs = mysql_num_rows($rsAuteurs);
?>
A voir également:
- Problème de redirection php
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Php alert ✓ - Forum PHP
- L'url suivante, censée aboutir à un article, donne lieu à une redirection indiquant que la page n'a pas été trouvée. retrouvez la page recherchée. reportez le titre de l’article et son auteur. - Forum Microsoft Edge / Internet Explorer
- Redirection de mail - Guide
3 réponses
Salut, tu devrais echo tes variables ou tu stcok l'url pour comprendre, sinon tu peut utiliser les header
if($formulaire == true){
header ('location: index.php?page=validationManuscrit.php');
}
tu tourne un boolean sur true si ton formulaire est valide, tu test ta variable et tu fais la redirection.
if($formulaire == true){
header ('location: index.php?page=validationManuscrit.php');
}
tu tourne un boolean sur true si ton formulaire est valide, tu test ta variable et tu fais la redirection.
salut Harderpod!
tout d'abord un grand merci pour ton message. J'ai essayé ce que tu m'as dit, mais la page réagit toujours pareil! :(
pour l'nstant j'ai toujours:
$insertGoTo ="?page=validationManuscrit.php";
peut etre n'est il pas à sa bonne place?
merci d'avance!
tout d'abord un grand merci pour ton message. J'ai essayé ce que tu m'as dit, mais la page réagit toujours pareil! :(
pour l'nstant j'ai toujours:
$insertGoTo ="?page=validationManuscrit.php";
peut etre n'est il pas à sa bonne place?
merci d'avance!
ne passe pas par $insertGoto écrit ton URL manuellement dans une condition if else
si test true -> hedear ("location: index.php?page=validationManuscrit");
sinon -> header("location: index.php?page=errorPage.php");
si test true -> hedear ("location: index.php?page=validationManuscrit");
sinon -> header("location: index.php?page=errorPage.php");
Hello harderpod!
voilà le message d'erreur que j'obtiens sur la page:
Warning: Cannot modify header information - headers already sent by (output started at /homez.116/bookimpu/www/index.php:8) in /homez.116/bookimpu/www/Templates/Nouveauxauteurs.dwt.php on line 63
Je n'ai pas l'impression qu'il accepte un nouvel header!
voilà le message d'erreur que j'obtiens sur la page:
Warning: Cannot modify header information - headers already sent by (output started at /homez.116/bookimpu/www/index.php:8) in /homez.116/bookimpu/www/Templates/Nouveauxauteurs.dwt.php on line 63
Je n'ai pas l'impression qu'il accepte un nouvel header!
tu utilise une architecture mvc pour ton site ?
https://forums.commentcamarche.net/forum/affich-1257704-php-warning-cannot-modify-header-information
sinon plusieurs solutions sont proposées dans le topic au dessus, jette un oeil si des fois y a pas ta réponse
https://forums.commentcamarche.net/forum/affich-1257704-php-warning-cannot-modify-header-information
sinon plusieurs solutions sont proposées dans le topic au dessus, jette un oeil si des fois y a pas ta réponse