Bonjour à tous,
Je me présente, Clément, débutant en PHP, je connais les notions de bases.
J'ai un problème de header dans mon code qui me donne lieu à l'erreur :
Warning: Cannot modify header information - headers already sent by (output started at D:\wamp64\www\tuto.loc\LivrePHP\sql\jeux_video\index.php:14) in D:\wamp64\www\tuto.loc\LivrePHP\sql\jeux_video\index.php on line 22
Voici mon code :
<?php
//Connexion à la base de données
try{
$bd = new PDO('mysql:host=***;dbname=***', '***', '***');
}
catch(exception $e){
die('Erreur : ' . $e->getMessage());
}
//Requête
$reponse = $bd->query('SELECT * FROM jeux_video');
while ($donnees = $reponse->fetch()) {
echo 'Le jeu ayant pour nom : '.$donnees['nom'].' a pour iD : '.$donnees['ID'].', il appartient à '.$donnees['possesseur'].' et se joue sur la console : '.$donnees['console'].'.<br>';
}
//Modification données
if(isset($_POST['submit']) AND isset($_POST['new_value'])){
$value = $_POST['new_value'];
$update = $bd->prepare('UPDATE jeux_video SET console = :newconsole WHERE possesseur = "Florent"');
$update->execute(array('newconsole' => $value));
header('location:/');
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<form method="POST" action="">
<input type="text" name="new_value">
<input type="submit" name="submit" value="Changer la console par une console aléatoire">
</form>
</body>
</html>
Je me suis renseigné sur cette erreur mais je n'arrive pas à la solutionner et vous demande votre aide .
Merci d'avance !!!
Bonsoir,
Le header doit être TOUJOURS mis avant le moindre affichage d'HTML.
Donc avant les echo.....
Mettez votre if avant la boucle while et le tour sera joué.
Salut,
ton header est une redirection pour ton cas, donc il faut mettre plutôt ceci en ligne 22:
header('Location:index.php');