Php variable global GET

Résolu/Fermé
lolerki Messages postés 606 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 1 mars 2017 - Modifié par lolerki le 7/12/2014 à 14:57
 Utilisateur anonyme - 7 déc. 2014 à 17:55
Bonjour/Bonsoir,

Je viens sollicité votre aide, car j'ai un problème avec un scripte php pour géré les articles. J'envoie dans l'url une action supprimer, modifier ou formulaire. Le problème c'est que peut importe l'action je suis rediriger vers l'index, je ne rentre pas dans le if bien que l'url soit bon rien ne s'exécute.


<?php 
session_start();

 try {
  
   $bdd = new PDO('mysql:host=localhost;dbname=hotd','root','');
  
  }
  
 catch (Exeption $e){

   die('erreur :' .$e->getMessage());

  }


if(isset($_SESSION['id']))
{
  if(!isset($_GET['action']))
  {
   ?>
   <h3>Administration des news</h3>
   <a href="index.php?page=AdministrationNews&action=formulaire" title="Ecrire et ajouter une news">Ajouter une news</a> - <a href="index.php" title="Affichage des news sur la page d'accueil">Afficher les news</a>
   <hr/>
   <table>
   <?php
   $requete = $bdd->query("SELECT titre, id FROM news ORDER BY date DESC");
   while($news = $requete->fetch()) { ?>
   <tr><td><strong><?php echo stripslashes($news['titre']); ?></strong></td><td><a title="Modifier cette news" href="index.php?page=AdministrationNews&id=<?php echo $news['id']; ?>&action=formulaire">Modifier</a></td><td><a title="Supprimer cette news avec demande de confirmation" href="index.php?page=AdministrationNews&id=<?php echo $news['id']; ?>&action=supprimer" onClick="return confirm('Etes vous sur de vouloir supprimer cette news ?');">Supprimer</a></td></tr>
  <?php } ?> </table><hr/>
  <a href="index.php?page=Administration" title="Retour au panneau general de l'administration">Retour à l'administration</a><?php
  }
  else if($_GET['action'] == "supprimer")
  {
   $requete = $bdd->prepare("DELETE FROM news WHERE id = :id");
   $requete->execute(array( 'id' => $_GET['id'] ));
   $requete->fetch();
   ?> <h3>Suppression de news</h3><p>News supprimé avec succes ! <a title="Retour à l'administration des news" href='index.php?page=AdministrationNews'>Retour</a></p> <?php
  }
  else if($_GET['action'] == "formulaire")
  {
   if(isset($_POST['titre']))
   {
    if(isset($_GET['id']))
    {
     $requete = $bdd->prepare("UPDATE news SET titre = :titre, contenu = :contenu WHERE id = :id");
     $requete->execute(array(
      'titre' => htmlspecialchars($_POST['titre']),
      'contenu' => $_POST['contenu'],
      'id' => $_GET['id']
     ));
     $requete->fetch();
     ?> <h3>Modification de news</h3><p>News modifié avec succes ! <a title="Retour à l'administration des news" href='index.php?page=AdministrationNews'>Retour</a></p> <?php
    }
    else
    {
     $requete = $bdd->prepare("INSERT INTO news(titre, auteur, date, contenu) VALUES(:titre, :auteur, :date, :contenu)");
     $requete->execute(array(
      'titre' => htmlspecialchars($_POST['titre']),
      'contenu' => $_POST['contenu'],
      'auteur' => $_SESSION['pseudo'],
      'date' => time()
     ));
     $requete->fetch();
     ?> <h3>Ajout de news</h3><p>News ajouté avec succes ! <a title="Retour à l'administration des news" href='index.php?page=AdministrationNews'>Retour</a></p> <?php
    }
   }
   else
   {
    if(isset($_GET['id']))
    {
     $req = $bdd->prepare("SELECT * FROM news WHERE id = :id");
     $req->execute(array(
      'id' => $_GET['id']
     ));
     $news = $req->fetch();
    }
   ?>
   <h3>Formulaire de news</h3>
   <form method="POST" action="index.php?page=AdministrationNews&action=formulaire<?php if(isset($_GET['id'])) { echo '&id='.$_GET['id']; }?>">
    <table style="margin:auto;">
     <tr><td><label for="titre">Titre : </label></td><td><input type="text" value="<?php echo stripslashes($news['titre']); ?>" id="titre" name="titre"/></td></tr>
     <tr><td colspan="2"><label for="contenu">Contenu : </label></td></tr>
     <tr><td colspan="2"><textarea id="contenu" name="contenu" rows="13" cols="45"><?php echo stripslashes($news['contenu']); ?></textarea></td></tr>
    </table> 
    <center><input type="submit" value="<?php if(isset($_GET['id'])) { echo 'Modifier la news'; } else { echo 'Ajouter la news'; } ?>"/></center>
   </form>
   <?php
   }
  } 
  else
  {
   ?> <h3>Administration des news</h3><p>Ce n'est pas une action correcte ! <a title="Retour à l'administration des news" href='index.php?page=AdministrationNews'>Retour</a></p> <?php
  }
}
else
{
 ?><h3>Erreur</h3><p>Vous n'avez rien à faire là ! <a title="Retour" href='index.php'>Retour</a></p> <?php
}  ?>


Merci d'avance pour votre aide !


A voir également:

3 réponses

Utilisateur anonyme
7 déc. 2014 à 15:21
Je pense que c'est normal vu que tout tes liens pointent vers index.php comme ici index.php?page=AdministrationNews&action=formulaire donc à part si ton index.php c'est lui qui gère la suppression et autre je pense que c'est ça ton erreur.
1
lolerki Messages postés 606 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 1 mars 2017 102
7 déc. 2014 à 17:01
Merci de ta réponse, effectivement erreur très bête de ma par !
0
Utilisateur anonyme
7 déc. 2014 à 17:55
T'inquiète pas au début on en fait plein de ce genre là
0