Probleme de redirection
philippe
-
philippe39 Messages postés 3 Statut Membre -
philippe39 Messages postés 3 Statut Membre -
Bonjour,
Je tente d'utiliser 2 pages web pour créer mon livre d'or. Ca marche très bien en local, par compte quand je le mets en ligne j'ai un message d'erreur...
Warning: Cannot modify header information - headers already sent by (output started at /mnt/www/clairvaux-location.fr/livredor_post.php:3) in /mnt/www/clairvaux-location.fr/livredor_post.php on line 20
Je pense que le problème vient de ma 2éme page dont voici le code :
<?php
// Connexion à la base de données
try
{
$bdd = new PDO('mysql:host=sql.clairvaux-location.fr;dbname=clairvaux_location_fr', 'xxxxxx', 'xxxx');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
// Insertion du message à l'aide d'une requête préparée
$req = $bdd->prepare('INSERT INTO livredor (nom, mail, message) VALUES(?, ?, ?)');
$req->execute(array($_POST['nom'], $_POST['mail'], $_POST['message']));
// Redirection du visiteur vers la page du livre d'or
header('Location: livredor.php');
?>
Pour info le code de la première page :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Livre d'Or</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<style type="text/css">
form
{
text-align:center;
}
</style>
<body>
<form action="livredor_post.php" method="post">
<p>
<label for="pseudo">Nom</label> : <input type="text" name="nom" id="nom" /><br />
<label for="pseudo">Votre adresse mail</label> : <input type="mail" name="mail" id="mail" /><br />
<label for="message">Message</label> : <input type="text" name="message" id="message" /><br />
<input type="submit" value="Envoyer" />
</p>
</form>
<?php
// Connexion à la base de données
try
{
$bdd = new PDO('mysql:host=sql.clairvaux-location.fr;dbname=clairvaux_location_fr', '9010626', 'KcH4KT');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
// Récupération des 10 derniers messages
$reponse = $bdd->query('SELECT nom, mail, message FROM livredor ORDER BY ID DESC LIMIT 0, 10');
// Affichage de chaque message (toutes les données sont protégées par htmlspecialchars)
while ($donnees = $reponse->fetch())
{
echo '<p><strong>' . htmlspecialchars($donnees['nom']) . ' - '. htmlspecialchars($donnees['mail']) . '</strong> : ' . htmlspecialchars($donnees['message']) . '</p>';
}
$reponse->closeCursor();
?>
Si quelqu'un peut m'aider, ça ne serait pas de refus !!! Merci d'avance !!!!
Je tente d'utiliser 2 pages web pour créer mon livre d'or. Ca marche très bien en local, par compte quand je le mets en ligne j'ai un message d'erreur...
Warning: Cannot modify header information - headers already sent by (output started at /mnt/www/clairvaux-location.fr/livredor_post.php:3) in /mnt/www/clairvaux-location.fr/livredor_post.php on line 20
Je pense que le problème vient de ma 2éme page dont voici le code :
<?php
// Connexion à la base de données
try
{
$bdd = new PDO('mysql:host=sql.clairvaux-location.fr;dbname=clairvaux_location_fr', 'xxxxxx', 'xxxx');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
// Insertion du message à l'aide d'une requête préparée
$req = $bdd->prepare('INSERT INTO livredor (nom, mail, message) VALUES(?, ?, ?)');
$req->execute(array($_POST['nom'], $_POST['mail'], $_POST['message']));
// Redirection du visiteur vers la page du livre d'or
header('Location: livredor.php');
?>
Pour info le code de la première page :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Livre d'Or</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<style type="text/css">
form
{
text-align:center;
}
</style>
<body>
<form action="livredor_post.php" method="post">
<p>
<label for="pseudo">Nom</label> : <input type="text" name="nom" id="nom" /><br />
<label for="pseudo">Votre adresse mail</label> : <input type="mail" name="mail" id="mail" /><br />
<label for="message">Message</label> : <input type="text" name="message" id="message" /><br />
<input type="submit" value="Envoyer" />
</p>
</form>
<?php
// Connexion à la base de données
try
{
$bdd = new PDO('mysql:host=sql.clairvaux-location.fr;dbname=clairvaux_location_fr', '9010626', 'KcH4KT');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
// Récupération des 10 derniers messages
$reponse = $bdd->query('SELECT nom, mail, message FROM livredor ORDER BY ID DESC LIMIT 0, 10');
// Affichage de chaque message (toutes les données sont protégées par htmlspecialchars)
while ($donnees = $reponse->fetch())
{
echo '<p><strong>' . htmlspecialchars($donnees['nom']) . ' - '. htmlspecialchars($donnees['mail']) . '</strong> : ' . htmlspecialchars($donnees['message']) . '</p>';
}
$reponse->closeCursor();
?>
Si quelqu'un peut m'aider, ça ne serait pas de refus !!! Merci d'avance !!!!
A voir également:
- Probleme de redirection
- 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
- Problème 'Cette page Web présente une boucle de redirection' ✓ - Forum Google Chrome
- Redirection 410 - Forum MacOS
- Retrouver un url interrogé ✓ - Forum Réseaux sociaux