Erreur PHP Aidez-moi SVP

Loader Messages postés 63 Statut Membre -  
jeremy.s Messages postés 1248 Statut Membre -
Bonjour, Voici un code php que j'ai codé, mais php me retourne une erreur (en gras) : <?php
$sql2="SELECT * FROM news";
$ok=$_GET['ok'];
$req2 = mysql_query($sql2) or die('Erreur SQL !<br />'.$sql2.'<br />'.mysql_error());
if ($ok == 0) {
echo "<div class=\"addcom\">";
echo "<form action=\"addcom.php\" method=\"post\">";
echo "<br />Pseudo : <input type=\"text\" name=\"pseudo\"/><br />";
echo "Mail : <input type=\"text\" name=\"mail\"/><br />";
echo "Mon site : <input type=\"text\" name=\"url\" value=\"[http://]\"/><br />";
echo "Comentaire : <br /><textarea name=\"contenu\" style=\"width:500px;height:150px\"></textarea><br />";
echo "<input type=\"submit\" value=\"Commenté\"/>";
echo "<input type=\"hidden\" name=\"news_id\" value=\"<?php echo $data[id]; ?>\">";
echo "</form>";
echo "</div>";
};

?>

La table news colonne ok = INT, Value 1

même si ok == 1 ou ok == 0 il m'affiche le formulaire


Merci, a bientôt



32 réponses

jeremy.s Messages postés 1248 Statut Membre 79
 
C'est pas avec $_GET que tu récupères des infos en base de données tu le sais ca ?
1
jeremy.s Messages postés 1248 Statut Membre 79
 
Salut !

L'erreur dit quoi ?
Pcq c'est bien beau de nous donnez la ligne, mais avec l'erreur c'est parfait ! :)
Sinon à mon avis l'erreur te dis que ok n'est pas défini
0
Loader Messages postés 63 Statut Membre 4
 
Salut, en effet, sans la ligne, sa peut aider personne pour m'aider (Cette phrase n'est pas très française mais bon xD)

Voici l'erreur Notice: Undefined index: ok in C:\Program Files\EasyPHP-5.3.3.1\www\news\voir.php on line 37
0
Loader Messages postés 63 Statut Membre 4
 
Au faite, voici le contenue complet de la page voir.php : <?php
require "config.php";
mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
mysql_select_db(DB_BDD);

$id=$_GET['id'];
$sql="SELECT * FROM news WHERE id=$id";
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data=mysql_fetch_assoc($req);
echo "<div class=\"news\">";
echo "<h1>{$data["titre"]}</h1>";
echo "<p>{$data["contenu"]}</p>";
echo "<div class=\"date\">{$data["date"]}</div>";
echo "</div>";
?>




<?php
$sql="SELECT * FROM comment WHERE news_id=$id ORDER BY id DESC";
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
while($data2=mysql_fetch_assoc($req)){
echo "<div class=\"com\">";
echo "<div class=\"text-com\">Pseudo :</div></g>{$data2['pseudo']}<br />";
echo "<div class=\"text-com\">Son site :</div>{$data2['url']}<br />";
echo "<div class=\"text-com\">Adresse mail :</div>{$data2['mail']}<br />";
echo "<div class=\"text-com\">Commentaire :</div>{$data2['contenu']}";
echo "</div>";
}
?>



<?php
$sql2="SELECT * FROM news";
$ok=$_GET['ok'];
$req2 = mysql_query($sql2) or die('Erreur SQL !<br />'.$sql2.'<br />'.mysql_error());
if ($ok == 0) {
echo "<div class=\"addcom\">";
echo "<form action=\"addcom.php\" method=\"post\">";
echo "<br />Pseudo : <input type=\"text\" name=\"pseudo\"/><br />";
echo "Mail : <input type=\"text\" name=\"mail\"/><br />";
echo "Mon site : <input type=\"text\" name=\"url\" value=\"http://\"/><br />";
echo "Comentaire : <br /><textarea name=\"contenu\" style=\"width:500px;height:150px\"></textarea><br />";
echo "<input type=\"submit\" value=\"Commenté\"/>";
echo "<input type=\"hidden\" name=\"news_id\" value=\"<?php echo $data[id]; ?>\">";
echo "</form>";
echo "</div>";
};

?>



<head>
<style type="text/css">
body{
background: url('img/bg.jpg')
}
</style>
<link type="text/css" rel="stylesheet" href="css/style.css">
</head>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jeremy.s Messages postés 1248 Statut Membre 79
 
Ca veut tout simplement dire que ton $_get['ok'] n'existe pas !
Donc fais voir un print_r($_GET) pour voir !

Mais à mon avis l'erreur vient de la page qui appel cette page.
Donc avant ca t'as un formulaire ? Ou un lien ?
0
Loader Messages postés 63 Statut Membre 4
 
Bah mon formulaire c'est ça : <?php
$sql2="SELECT * FROM news";
$ok=$_GET['ok'];
$req2 = mysql_query($sql2) or die('Erreur SQL !<br />'.$sql2.'<br />'.mysql_error());
if ($ok == 0) {
echo "<div class=\"addcom\">";
echo "<form action=\"addcom.php\" method=\"post\">";
echo "<br />Pseudo : <input type=\"text\" name=\"pseudo\"/><br />";
echo "Mail : <input type=\"text\" name=\"mail\"/><br />";
echo "Mon site : <input type=\"text\" name=\"url\" value=\"http://\"/><br />";
echo "Comentaire : <br /><textarea name=\"contenu\" style=\"width:500px;height:150px\"></textarea><br />";
echo "<input type=\"submit\" value=\"Commenté\"/>";
echo "<input type=\"hidden\" name=\"news_id\" value=\"<?php echo $data[id]; ?>\">";
echo "</form>";
echo "</div>";
};

?>
mais je veut l'afficher en php en gros si dans ma BDD si ok==0 alors je n'affiche rien et si ok==1 alors j'affiche le formulaire
0
Loader Messages postés 63 Statut Membre 4
 
Je ne comprend pas ceci : https://www.php.net/manual/fr/reserved.variables.get.php

Si quelqu'un peut me le faire, se serais super sympas !
0
jeremy.s Messages postés 1248 Statut Membre 79
 
T'as aucun name="ok" dans ton formulaire c'est pour ca
Surtout que tu envois en POST, et sur la page addcom.php et non voir.php
0
Loader Messages postés 63 Statut Membre 4
 
Tous les script php sont dans la même page !
0
jeremy.s Messages postés 1248 Statut Membre 79
 
Pourquoi tu as addcom.php et voir.php alors ?

Fais attention à ca, et regarde le type d'envois (post ou get) et les name de tes input :)
0
Loader Messages postés 63 Statut Membre 4
 
Dans addcom.php il y a
<?php
require "config.php";
mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
mysql_select_db(DB_BDD);
extract($_POST);
$sql="INSERT INTO comment (pseudo,url,mail,contenu,news_id) VALUES ('$pseudo','$url','$mail','$contenu','$news_id')";
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
header("Location: voir.php?id=$news_id");
echo "<div class=\"notifications\">
<div class=\"success\">
<div class=\"right\">
<h2>Comm\' envoyé</h2>
</div>
</div>
</div>";
?>
0
Loader Messages postés 63 Statut Membre 4
 
Sinon, si sa peut t'aider, voici mon cms : http://loadheberg.fr/fichiers/index.php?action=fileinfo&index=32
0
jeremy.s Messages postés 1248 Statut Membre 79
 
Ca c'est bon, mais ton $_GET['ok'] vient d'où ?
Quel fichier appel voir.php ?
0
Loader Messages postés 63 Statut Membre 4
 
Je comprend pas trop, en réalité, moi j'ai juste utiliser le css et modifier l'espace administration ce qui na pas été si difficile que ça, mais après, pour afficher un formulaire si dans la base ok==1 sa je c'est pas du tout faire ... J'ap pris se "cms" sur grafikart.fr

Désoler :s
0
jeremy.s Messages postés 1248 Statut Membre 79
 
Concrètement, $_GET['ok'] veut dire que dans ton url tu as ca : monsite.php?ok=1
Ca ne veut pas dire que ta base de données est ok
0
Loader Messages postés 63 Statut Membre 4
 
Chui désoler, chui vraiment pas doué en php :s

Est ce que tu peut me le faire ou m'aider s'il te plais ?
0
jeremy.s Messages postés 1248 Statut Membre 79
 
Bah regarde dans ton URL quand tu lance ta page.
Si derrière ya ?ok=1 ou non ;-)
0
Loader Messages postés 63 Statut Membre 4
 
nan, sa me retourne http://127.0.0.1:8888/news/voir.php?id=%3C?php%20echo%206;%20?%3E
0
jeremy.s Messages postés 1248 Statut Membre 79
 
Enlève ton $ok=$_GET['ok']
et le if en dessus, tu verras bien ;-)
0
Loader Messages postés 63 Statut Membre 4
 
J'ai essayer, sa marche pas
0