Php probleme echo
j ai un fichier php qui me permet de modifier les champs tirés d un menu déroulant tout est ok la modif ok mais il devrait y avoir un echo pour me dire que tout s est bien passé et j obtiens une page blanche ... j ai fiat un echo 'je suis ici'; tout au long de mon script et c est au niveau du if($req3) qu il y a un problème ... p
Pouvez vous l aider
merci
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Catalogue</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body link="#000000" vlink="#FFFFFF" alink="#FFFFFF">
<div id="body">
<?php
include ('config.php');
include ('connexion.php');
//reference
$reference = $_POST["reference"];
$sql = "SELECT reference, artiste, album, format FROM contenu WHERE reference='".$_GET['reference']."'" ;
$req = mysql_query($sql) or die( mysql_error() ) ;
$total = mysql_num_rows($req);
$sql3= "UPDATE contenu SET reference='".$_POST
['reference']."', artiste='".$_POST
['artiste']."',album='".$_POST['album']."',format='".$_POST['format']."' WHERE reference
='".$_POST['reference']."'" ;
$req3= mysql_query($sql3) or die('Erreur SQL !'.$sql3.'<br>'.mysql_error());
if($total!=0)
{
echo '<form method ="post" action="modifier.php">';
echo '<table>'."\n";
echo '<tr>';
echo '<td ><b><u>reference</u></b></td>';
echo '<td><b><u>artiste</u></b></td>';
echo '<td><b><u>album</u></b></td>';
echo '<td><b><u>format</u></b></td>';
echo '</tr>'."\n";
while($row = mysql_fetch_array($req))
{
echo '<tr>';
echo '<td><input type="text" name="reference" value="'.$row["reference"].'"/></td>';
echo '<td><input type="text" name="artiste" value="'.$row["artiste"].'"/></td>';
echo '<td><input type="text" name="album" value="'.$row["album"].'"/></td>';
echo '<td><input type="text" name="format" value="'.$row["format"].'"/></td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
echo '<input type="submit" name="btOk" value="Modifier"/>';
echo '</form>';
if (isset($_POST['btOk']))
{
echo 'je suis ici'; if($req3)
{
echo ("L'insertion a été correctement effectuée") ;
}
else
{
echo("L'insertion à échouée") ;
}
}
}
?>
</body></html>
<?php
mysql_close();
?>
Configuration: Windows Vista Firefox 3.0.6
14 réponses
Un script PHP destiné à modifier les champs issus d'un menu déroulant produit une page blanche et ne retourne pas l'écho de réussite souhaité, malgré des echo répétés dans le code. Le problème semble se focaliser sur la condition if($req3) et sur l'évaluation du résultat de la requête, l'exécution contient aussi des erreurs de syntaxe comme des else mal placés. Plusieurs échanges suggèrent de retirer des blocs else, de corriger la logique et d'afficher l'état via une vérification du succès de la requête, afin d'éviter les pages tronquées. En parallèle, des conseils évoquent l'affichage d'un message de confirmation après validation et la nécessité d'éviter des erreurs de syntaxe qui interrompent l'exécution du script.
-
Contributeursalut!
Moi je ferai{ echo "L'insertion a été correctement effectuée" ; } else { echo "L'insertion à échouée" ; } -
Contributeur
{ echo 'L\'insertion a été correctement effectuée' ; } else { echo 'L\'insertion à échouée' ; } -
Contributeuressai de virer la condition pour voir!
-
Contributeurnormal!un else sans if c'est impossible!Vire(temporairement) la partie traitant le else et on vera s'il affiche!
-
if ($total !== 0)
? -
Contributeurnon,enlève aussi les {}
met juste echo'blalalalalal';-
-
@stefanelle
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Catalogue</title> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body link="#000000" vlink="#FFFFFF" alink="#FFFFFF"> <div id="body"> <?php echo "coucou"; ?> </body> </html>
ça ?
-
-
le coucou s affiche bien ....
-
Contributeurmodifier.php est le fichier que je vois la?
-
oui c ets bine le fichier modifier.php
-
-
Contributeur@Ricky38Ricky38
peux tu copier la ligne en question pour qu'elle puisse bien voir! ;-))
-
-
Contributeuren tout cas bizarre ton echo
-
-
Contributeur@stefanelle
$req3= mysql_query($sql3) or die('Erreur SQL !'.$sql3.'<br>'.mysql_error());
ici il te manque un 'tu l'ouvres mets tu le ferme pas<br>'.mysql_error());
-
@Ricky38ça ce n'est pas obligatoire si le code se termine en php
-
-
Es-tu sûr qu'il s'agit de $_GET['reference'] et pas $reference dans la première requete ?
Je demande ça car tu as spécifié$reference = $_POST["reference"];
et je ne vois nulle-part son utilisation. -
Contributeurecoute!
remets çaif($req3) { echo ("L'insertion a été correctement effectuée") ; } else { echo("L'insertion à échouée") ; }
mais ne test pas le bouton!(j'ai vu un de mes anciens codes et j'ai procédé de la sorte)!-
-
@stefanellepeut-on avoir le code du formulaire ?
-
-
ok, alors je vois que tout ets sensé s'afficher à partir du moment ou le nombre de résultats n'est pas 0 :
if($total!=0)
peux-tu ajouter ceci pour voir ?echo $total;
Pas dans le if, mais au-dessus.-
-
@stefanellebon vous etes peut etre couché je vais regarder ca demain avec la tete froide :-)
merci en tout cas pour votre aide et patience
-
-
Contributeurok bonne nuit!
je vais essayer de voir ça de plus près avant le dodo!