{MySQL} probleme d'enregistrement {MySQL}

Résolu
Bonjour,
voila j'ai creer une section admin avec enregistrement sql.
la page admin fais appel a d'autre page genre admin news par le biais d'un include mais voila chaque fois que j'accede a la page sa me mais dans la base sql un enregistrement vide
comment y remedier?
Configuration: Windows Vista
Firefox 3.5.5

4 réponses

  1. Bonjour,

    bien souvent dans ces cas là c'est que les varaibles ne sont pas renseignées.
    vérifiez cela avec un echo de la requête avant son exécution.
    0
    1. j'ai resolu mon probleme
      faut faire
      if (isset($_POST['titre']) && isset($_POST['lien']) && isset($_POST['lien2']) && isset($_POST['type']) && isset($_POST['format']));
      {
      $connexion = mysql_connect($host, $login, $pwd)  OR die('Erreur de connexion');
      mysql_select_db($base) OR die('Erreur de sélection de la base');
      
      mysql_query("INSERT INTO download VALUES ('null','".$_POST['titre']."','".$_POST['lien']."','".$_POST['type']."','".$_POST['format']."')");
      }
      mysql_close();
      
      0
      1. Bonjour

        J'ai resolu mon probleme
        Ça m'étonnerait beaucoup, beaucoup que ça marche avec un ; à la fin du if. Avec ce ; ton if ne sert absolument à rien, car le ; est la instruction soumise au if, tout le passage entre { } est exécuté idépendament du if. Donc même si les variables ne sont pas définies (à moins qu'un autre if en amont...)
        0
        1. c bon j'ai trouver sa marche nickel voici le code si sa peut en aider d'autre
          <code ><?php
          $act = 'index.php'; # ne modifier que si le nom du fichier est changé a modifier selon la page de votre formulaire

          //Ouverture de la fenetre a modifier selon vos infos de connection a votre BDD
          $host = 'host';
          $base = 'votre base';
          $login = 'ton login';
          $pwd = 'ton pass';

          // Connexion au serveur
          $connexion = mysql_connect($host, $login, $pwd) OR die('Erreur de connexion');
          mysql_select_db($base) OR die('Erreur de sélection de la base');

          // On ouvre un tableau pour l'affichage
          echo "<table width=\"100%\" valign=\"top\">";

          //Affichage du formulaire des news
          echo"<tr><td style=\"background-image:url('http://www.xtrem-sound.fr/themes/images/admin_postdl.gif');background-repeat:no-repeat; width:690px; height:280px;\"><div style=\"margin-left:20px; margin-top:20px;\">
          <form action='$act' method=\"post\">
          <label for=\"titre\">Titre du fichiers :</label><br /><input type=\"text\" name=\"titre\" id=\"titre\" size=\"80\"/><br />
          <label for=\"lien\">Lien 1:</label><br /><input type=\"text\" name=\"lien\" id=\"lien\" size=\"80\"/><br />
          <label for=\"lien2\">Lien 2:</label><br /><input type=\"text\" name=\"lien2\" id=\"lien2\" size=\"80\"/><br />
          <label for=\"type\">Type de lien :</label><br /><select name=\"type\" id=\"type\">
          <option value=\"\"></option>
          <option value=\"megaupload\">MegaUpload</option>
          <option value=\"gigaupload\">GigaUpload</option>
          <option value=\"rapidshare\">RapidShare</option>
          <option value=\"xtrem-files\">Xtrem-Files</option>
          <option value=\"xtrem-files & megaupload\">XtremFiles & MegaUpload</option>
          </select><br />
          <label for=\"format\">Format :</label><br /><select name=\"format\" id=\"format\">
          <option value=\"\"></option>
          <option value=\"mp3\">MP3</option>
          <option value=\"zip\">ZIP</option>
          <option value=\"rar\">RAR</option>
          <option value=\"rar/mp3\">RAR & MP3</option>
          <option value=\"zip/mp3\">ZIP & MP3</option>
          <option value=\"rar/zip\">RAR & ZIP</option>
          </select><br />
          <center><input type=\"submit\" value=\"Enregistrer\"/><input type=\"reset\" value=\"Effacer\"/></center>
          </form></td></tr>";

          if (isset($_POST['titre']))
          {
          $titre = $_POST['titre'];
          $lien = $_POST['lien'];
          $lien2 = $_POST['lien2'];
          $type = $_POST['type'];
          $format = $_POST['format'];

          //enregistrement dans la base de données a modifier selon vote table
          mysql_query("INSERT INTO download (titre, lien, lien2, type, format) VALUES ('$titre','$lien','$lien2','$type','$format')")OR die(mysql_error());
          }
          mysql_close();

          //On ferme maintenant le tableau
          echo "</table>";
          ?></code>
          a modifier a votre guise ce code la fonctionne tres bien et voici la table
          CREATE TABLE `download` (
            `id` int(11) NOT NULL auto_increment,
            `titre` varchar(100) collate latin1_german2_ci NOT NULL,
            `lien` varchar(255) collate latin1_german2_ci NOT NULL,
            `lien2` varchar(255) collate latin1_german2_ci NOT NULL,
            `type` varchar(80) collate latin1_german2_ci NOT NULL,
            `format` varchar(7) collate latin1_german2_ci NOT NULL,
            PRIMARY KEY  (`id`)
          ) ENGINE=MyISAM 
          0