Erreur PHP Aidez-moi SVP
Loader
Messages postés
63
Statut
Membre
-
jeremy.s Messages postés 1248 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
$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
- 1
- 2
Suivant
-
C'est pas avec $_GET que tu récupères des infos en base de données tu le sais ca ?
-
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
-
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 -
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> -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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 ?
-
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 -
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 ! -
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
-
-
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 :)
-
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>";
?> -
Sinon, si sa peut t'aider, voici mon cms : http://loadheberg.fr/fichiers/index.php?action=fileinfo&index=32
-
Ca c'est bon, mais ton $_GET['ok'] vient d'où ?
Quel fichier appel voir.php ?
-
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 -
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
-
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 ? -
Bah regarde dans ton URL quand tu lance ta page.
Si derrière ya ?ok=1 ou non ;-)
-
nan, sa me retourne http://127.0.0.1:8888/news/voir.php?id=%3C?php%20echo%206;%20?%3E
-
Enlève ton $ok=$_GET['ok']
et le if en dessus, tu verras bien ;-)
-
- 1
- 2
Suivant