[RESOLU] Souci mise à jour table

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Souci mise à jour table

Re: [RESOLU] Souci mise à jour table

par tgv2000fr » 18 déc. 2014, 16:32

Pour changer problème de syntaxe \:D/


J'ai bêtement oublier mon "archive="

Avant :
$bdd->exec("UPDATE news SET titre='" . $titre . "', auteur='" . $auteur . "', contenu='" . $contenu . "', '" . $archive . "' WHERE id='" . $_SESSION['id_news'] . "'");
Après :
$bdd->exec("UPDATE news SET titre='" . $titre . "', auteur='" . $auteur . "', contenu='" . $contenu . "', archive='" . $archive . "' WHERE id='" . $_SESSION['id_news'] . "'");

Souci mise à jour table

par tgv2000fr » 18 déc. 2014, 14:55

Bonjour,

J'ai un formulaire me permetant de poster des news, jusqu'a présent cela fonctionnait.

A ce jour je souhaite mettre la possibilité d'afficher certaines news sur une autre page (de pouvoir les "archiver" et qu'elles soient visible sur une autre page "archive")

J'ai donc ajouté à ma table un nouveau champ que j'ai appelé "archive" dans lequel la valeur est "oui" ou "non" les donnée de la table s'affichent ou pas sur une page ou l'autre en fonction de cette valeur.


Hélas je ne parviens pas a faire la modification dans les table pour passer une news en "archive" "oui" ou "non". Et je ne peux plus faire de modification sur les news alors que juste avant je pouvais.



Voici mes codes :


Mon fichier pour Editer les news :
<?php
try 
{
$bdd = new PDO('mysql:host=*********;dbname=*********, '********', '*******');
	}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}

if (isset($_GET['modifier_news']))
{

    $news_du_centre = $bdd->query('SELECT * FROM news WHERE id=\'' . $_GET['modifier_news'] . '\'');
    $data_news = $news_du_centre->fetch();

    $titre = stripslashes($data_news['titre']);
    $auteur = stripslashes($data_news['auteur']);
    $contenu = stripslashes($data_news['contenu']);
    $archive = stripslashes($data_news['archive']);
    $id_news = $data_news['id'];
}

if ($auteur == "auteur1")
{
  $selected_auteur1 = 'selected="selected"';
}
elseif ($auteur == "auteur2")
{
  $selected_auteur2 = 'selected="selected"';
}
elseif ($auteur == "auteur3")
{
  $selected_auteur3 = 'selected="selected"';
}


if ($archive == "non")
{
  $selected_non = 'selected="selected"';
}
elseif ($archive == "oui")
{
  $selected_oui = 'selected="selected"';
}
?>


<form action="envoi_news.php" method="post">
<input type="hidden" name="id_news" value="<?php echo $id_news; ?>" />
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="80%"><?php echo $erreur_titre; ?><h3>Titre : </h3><input type="text" size="50" name="titre" style="font-size: 22px;" value="<?php echo $titre; ?>" /></p>
</td>
    <td width="20%">&nbsp;</td>
  </tr>
  <tr>
    <td><h3>Auteur de l'article :</h3>
<select name="auteur" style="font-size: 22px;">
    <option value="auteur1" <?php echo $selected_auteur1; ?>>auteur1</option>
    <option value="auteur2" <?php echo $selected_auteur2; ?>>auteur2</option>
    <option value="auteur3" <?php echo $selected_auteur3; ?>>auteur3/option>
    </select></td>
    <td><h3>Archiver l'article :</h3>
    <select name="archive" style="font-size: 22px;">
    <option value="non" <?php echo $selected_non; ?>>Non</option>
    <option value="oui" <?php echo $selected_oui; ?>>Oui</option>
    </select></td>
  </tr>
  <tr>
    <td><h3>Message :</h3></td>
    <td><input style="font-size: 22px;" type="submit" value="Envoyer" /></td>
  </tr>
  <tr>
    <td colspan="2"><textarea name="contenu"  cols="60" rows="15">
    <?php echo $contenu; ?></textarea></td>
  </tr>
</table>
</p>
</form>
Mon fichier "envoi_news.php" :
<?php

if ($_POST != NULL)
{
 
      $_SESSION['titre'] = $_POST['titre'];
      $_SESSION['auteur'] = $_POST['auteur'];
      $_SESSION['contenu'] = $_POST['contenu'];
      $_SESSION['archive'] = $_POST['archive'];
      $_SESSION['id_news'] = $_POST['id_news'];
      
      if ($_SESSION['titre'] == NULL)
      {
      header ('Refresh: 1;URL=edit_news.php'); 
      }
      else
      {
      header ('Refresh: 1;URL=list_news.php');
      }
}
Et mon fichier "list_news.php":
if ($_SESSION['titre'] != NULL AND isset($_SESSION['contenu']))
{
    $titre = addslashes($_SESSION['titre']);
    $auteur = addslashes($_SESSION['auteur']);
    $contenu = addslashes($_SESSION['contenu']);
    $archive = addslashes($_SESSION['archive']);
   
    if ($_SESSION['id_news'] == 0)
    {
       $bdd->exec("INSERT INTO news VALUES('', '" . $titre . "', '" . $auteur . "', '" . $contenu . "', '" . time() . "', '" . $archive . "')");
    }
    else
    {
        $_SESSION['id_news'] = addslashes($_SESSION['id_news']);

        $bdd->exec("UPDATE news SET titre='" . $titre . "', auteur='" . $auteur . "', contenu='" . $contenu . "', '" . $archive . "' WHERE id='" . $_SESSION['id_news'] . "'");
    }
}
Avez vous un idée ?