Bonjour,
J'ai essaye de faire le tuto suivant : Gérer des news en PHP
Et j'ai quelque difficulté à faire l'édition on m'affiche :
Parse error: syntax error, unexpected T_VARIABLE in /var/www/legtux.org/users/clannad/admin/edit.php on line 8
Ma page edit.php
<?php
require "../config.php";
mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
mysql_select_db(DB_BDD);
if (!empty($_POST))
{
extract($_POST);
$sql="UPDATE news SET titre='$titre', contenu='$contenu' WHERE id="$id";
$req = mysql_query($sql) or die ('Erreur SQL ! <br />'.$sql.'<br />'.mysql_error());
echo "Change";
$_GET"id"]=$id;
}
$sql="SELECT * FROM news WHERE id={$_GET"id"]}";
$req = mysql_query($sql) or die ('Erreur SQL ! <br />'.$sql.'<br />'.mysql_error());
$data=mysql_fetch_assoc($req);
print_r($data);
?>
<form method="post" action="edit.php"/>
<input name="id" type="hidden" value="<?php echo $data"id"]; ?>"/>
<p>Titre :
<input type="text" name="titre" value="<?php echo $data"titre"]; ?>"/>
<br/>
Contenu : <br/>
<textarea name="contenu" style="width:40%;height:200px;"><?php echo $data"contenu"]; ?></textarea>
<input type="submit" value="Envoyer"/>
</form>
ma page /admin/index.php :
<form method="post" action="creer.php"/>
Titre : <input type="text" name="titre"/>
<br />
Contenu :<br/> <textarea name="contenu" style="width: 100%; height: 150px;"></textarea>
<input type="submit" value="Envoyer"/>
</form>
<?php require "../config.php";
mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
mysql_select_db(DB_BDD);
$sql="SELECT * FROM news";
$req = mysql_query($sql) or die('ERREUR SQL!<br />'.$sql.'<br />'.mysql_error());
while($data=mysql_fetch_assoc($req)){
echo "<p>{$data"titre"]} -- ";
echo "<a href=\"edit.php\">Modifier cette news</a>";
echo " -- <a href=\"suppr.php?id={$data"id"]}\">X</a>";
echo "</p>";
}
?>
Si quelqu'un peu me débloquer :)
Pour l'erreur de creer.php, ajoute ceci après extract($_POST);
$titre = mysql_real_escape_string($titre);
$contenu = mysql_real_escape_string($contenu);
Hello, fallait voir ligne 8 comme l'erreur l'indique :p
$sql="UPDATE news SET titre='$titre', contenu='$contenu' WHERE id= " $id";
(" en trop ^^)
oui, merci
je me retrouve avec la même erreur que "loulou" ont lui a répondu : "Concatène ton GET'id'] dans une variable avant." et je n'ai pas très bien compris
Erreur SQL !
SELECT * FROM news WHERE id=
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
j'ai pas compris comment ça une news particulière ?
ma page creer.php
<?php require "../config.php";
mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
mysql_select_db(DB_BDD);
extract($_POST);
$sql="INSERT INTO news(titre,contenu) VALUES ('$titre','$contenu')";
$req = mysql_query($sql) or die('ERREUR SQL!<br />'.$sql.'<br />'.mysql_error());
header("Location: index.php");
?>
Quand on créer une news on ne peu pas mettre de é,à,è,',",(,) ? car quand je mets par exemple jusqu'à j'ai une erreur et lorsque je mets jusqua cela fonctionne
ERREUR SQL!
INSERT INTO news(titre,contenu) VALUES ('','jusqu'à')
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'à')' at line 1
Et quand j'envoie via phpmyadmin sa marche tres bien, j'avoue que là je suis un peu perdu
Merci beaucoup ça marche pour creer.php
En faite pour edit il faut que quand je clique "modifier la news" et que je rajoute dans l'url ?id=(le numero de la news que je veux) ?