Erreur PHP Aidez-moi SVP

Fermé
Loader Messages postés 58 Date d'inscription dimanche 25 novembre 2012 Statut Membre Dernière intervention 8 juillet 2013 - Modifié par Loader le 16/05/2013 à 20:26
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 - 24 mai 2013 à 20:39
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 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
23 mai 2013 à 20:52
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 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
16 mai 2013 à 20:48
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 58 Date d'inscription dimanche 25 novembre 2012 Statut Membre Dernière intervention 8 juillet 2013 4
17 mai 2013 à 18:32
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 58 Date d'inscription dimanche 25 novembre 2012 Statut Membre Dernière intervention 8 juillet 2013 4
17 mai 2013 à 18:35
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 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
17 mai 2013 à 20:04
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 58 Date d'inscription dimanche 25 novembre 2012 Statut Membre Dernière intervention 8 juillet 2013 4
17 mai 2013 à 20:33
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 58 Date d'inscription dimanche 25 novembre 2012 Statut Membre Dernière intervention 8 juillet 2013 4
17 mai 2013 à 20:35
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 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
17 mai 2013 à 20:36
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 58 Date d'inscription dimanche 25 novembre 2012 Statut Membre Dernière intervention 8 juillet 2013 4
17 mai 2013 à 20:38
Tous les script php sont dans la même page !
0
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
17 mai 2013 à 20:45
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 58 Date d'inscription dimanche 25 novembre 2012 Statut Membre Dernière intervention 8 juillet 2013 4
17 mai 2013 à 20:55
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 58 Date d'inscription dimanche 25 novembre 2012 Statut Membre Dernière intervention 8 juillet 2013 4
17 mai 2013 à 21:03
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 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
17 mai 2013 à 21:10
Ca c'est bon, mais ton $_GET['ok'] vient d'où ?
Quel fichier appel voir.php ?
0
Loader Messages postés 58 Date d'inscription dimanche 25 novembre 2012 Statut Membre Dernière intervention 8 juillet 2013 4
17 mai 2013 à 21:17
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 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
17 mai 2013 à 21:26
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 58 Date d'inscription dimanche 25 novembre 2012 Statut Membre Dernière intervention 8 juillet 2013 4
17 mai 2013 à 21:31
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 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
17 mai 2013 à 21:33
Bah regarde dans ton URL quand tu lance ta page.
Si derrière ya ?ok=1 ou non ;-)
0
Loader Messages postés 58 Date d'inscription dimanche 25 novembre 2012 Statut Membre Dernière intervention 8 juillet 2013 4
17 mai 2013 à 21:38
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 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
17 mai 2013 à 21:43
Enlève ton $ok=$_GET['ok']
et le if en dessus, tu verras bien ;-)
0
Loader Messages postés 58 Date d'inscription dimanche 25 novembre 2012 Statut Membre Dernière intervention 8 juillet 2013 4
17 mai 2013 à 23:28
J'ai essayer, sa marche pas
0