Je débutes en PHP et je commences quelques peu à comprendre via les tutoriaux que je suis par ci par là, cependant, là je ne vois pas où se situe mon erreur.
J'ai un système de news fonctionnel, et pour l'instant uniquement le fichier PHP permettant de créer la news et un autre pour l'afficher, ça de ce coté, je n'ai pas de soucis. Cependant, voulant m'attelé à la création d'un système de modification de news, je rencontre un problème, je m'explique:
J'ai un formulaire avec des champs "normaux" de type text, cependant, pour avoir l'affichage des valeurs de la news j'ai rajouté "<?php echo $data['auteur']; ?>"
Mais, je ne comprends pas pourquoi, dans le champs "auteur", rien ne s'affiche, alors que théoriquement devrait s'afficher le nom de l'auteur de la news non?
Voici néanmoins le reste du code, peut-être ai-je fais une erreur, cependant, sur le tutorial que j'ai suivi ça fonctionne, mais bon, j'ai édité à quelques endroits..
<?php
// on se connecte à notre base
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db('news', $base);
$id = null;
if(isset($_GET['id']) && $_GET['id'])
$id = $_GET['id'];
if ((!$id) || (!preg_match("/^[0-9]+$/", $id))) exit("Pas de page à cette adresse");
$news = mysql_query("SELECT * FROM news WHERE id=".$id);
$sql = 'SELECT auteur, titre, date, texte_news, corps FROM news ORDER BY date DESC;';
$req = mysql_query($sql) or die('Erreur SQL! <br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_assoc($req);
?>
<html>
<head>
<title>Edition d'une news</title>
</head>
<body>
<!-- on fait pointer le formulaire vers la page traitant les données -->
<form method="post" action="insert_news.php" />
<input type="hidden" value="<?php echo $_GET['id']; ?>" />
Auteur:<input type="text" name="auteur" value="<?php echo $data['auteur']; ?>" />
<br />
Titre:<input type="text" name="titre" value="<?php echo $data["titre"]; ?>" />
<br />
Entête:<input type="text" name="texte_news" value="<?php echo $data["texte_news"]; ?>" />
<br />
Contenu: <br />
<textarea name="corps" style="width:100%:height:150px; "> <?php echo $data["corps"]; ?> </textarea>
<input type="submit" value="C'est parti"/>
</form>
<?php
// on affiche les erreurs éventuelles
if (isset($erreur)) echo '<br /><br />',$erreur;
?>
</body>
Merci d'avance,Sreadon.
EDIT: Problème résolu pour l'affichage pour l'instant! Je continus dans ma lancée..
Voici néanmoins le code corrigé:
<?php
// on se connecte à notre base
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db('news', $base);
$id = null;
if(isset($_GET['id']) && $_GET['id'])
$id = $_GET['id'];
if ((!$id) || (!preg_match("/^[0-9]+$/", $id))) exit("Pas de page à cette adresse");
$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);
?>
<html>
<head>
<title>Edition d'une news</title>
</head>
<body>
<!-- on fait pointer le formulaire vers la page traitant les données -->
<form method="post" action="insert_news.php" />
<input type="hidden" value="<?php echo $_GET['id']; ?>" />
Auteur:<input type="text" name="auteur" value="<?php echo $data['auteur']; ?>" />
<br />
Titre:<input type="text" name="titre" value="<?php echo $data["titre"]; ?>" />
<br />
Entête:<input type="text" name="texte_news" value="<?php echo $data["texte_news"]; ?>" />
<br />
Contenu: <br />
<textarea name="corps" style="width:100%:height:150px; "> <?php echo $data["corps"]; ?> </textarea>
<input type="submit" value="C'est parti"/>
</form>
<?php
// on affiche les erreurs éventuelles
if (isset($erreur)) echo '<br /><br />',$erreur;
?>
</body>
</html>