Enregistrement en base de donnée

Eléphant du PHP | 134 Messages

25 sept. 2012, 19:12

Bonjour ,

J'ai un souci , j'ai fais un formulaire pour ajouter des bande annonce sur mon site , mais l'enregistrement ne se fait pas , pourtant les champs de la table correspondent bien avec ceux du fichier php , aucune erreur est signalé . Merci d'avance de me dire ce qui cloche.

Code : Tout sélectionner

<?php // Session session_start(); // Entrez le level requis pour la page attention car c'est un level minimum requis donc si le membre y a droit tous les niveau supérieur y auront droit également // Level par défaut : // 100 = Administrateur // 99 = Co Administrateur // 50 = Famille // 1 = Membre enregistré // Contôle des accès if($_SESSION['privilege'] < 100 OR $_SESSION['login'] == NULL OR $_SESSION['etat'] != 2) exit('<META HTTP-EQUIV="Refresh" CONTENT="0; URL=http://www.**.com/Web/Accueil2011/index.php">'); ?> <body bgcolor="#CCCCCC"> <?php // On récupère tous les configurations du système require('config.php'); // Connexion au serveur MySQL mysql_connect("$mysql_acces_host", "$mysql_acces_user", "$mysql_acces_password"); mysql_select_db("$mysql_bdd"); if (isset($_POST['titre']) AND isset($_POST['commentaire']) AND isset($_POST['video'])) { if ($_POST['titre'] != NULL AND $_POST['commentaire'] != NULL AND $_POST['video'] != NULL) $titre = htmlentities($_POST['titre'], ENT_QUOTES); $commentaire = htmlentities($_POST['commentaire'], ENT_QUOTES); $url = htmlentities($_POST['url'], ENT_QUOTES); $video = htmlentities($_POST['video'], ENT_QUOTES); // Nous ajoutons le message en base de donnée /// mysql_query("INSERT INTO film_attendu VALUES('', now(),'$titre','$commentaire','$url','$video')"); // Message de success echo'<div class="finform">'; echo '<center><strong>Nous sauvegardons le changement de Bande Annonce sur la Page d\'accueil<strong>'.$titre.'</strong><br/><br/>'; echo'<p><img src="images/icones/loading3.gif" alt="" width="50" height="50"<p><br/></p>'; echo '<meta http-equiv="Refresh" CONTENT="5; URL=index.php"></center></div>'; // lien retour après saisie modification } else { // Message d'erreur si un des champs n'est pas remplis echo $erreur_champs; echo '<center>Les champs obligatoire ne sont pas saisie ! </center>'; echo '<center><form><input type="button" value="Corriger les erreurs," onclick="history.go(-1)"></form></center'; } // Déconnection de la MySQL mysql_close(); ?>
Modifié en dernier par Michel6359 le 25 sept. 2012, 19:51, modifié 1 fois.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

25 sept. 2012, 19:44

Salut,

Tes variables n'existe pas pour ta requête SQL.

Regarde sur phpdebutant.org le cours sur la validation de formulaire (ton code semble prévue pour register_globals à on et ce n'est plus la cas par défaut.


Si tu veux voir les erreurs modifie le niveau de rapport d'erreur, avec error_reporting(E_ALL); en première ligne de ton script (dans du code php).


@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 134 Messages

25 sept. 2012, 19:52

Oui une erreur de variable une ligne en trop , maintenant est-ce que c'est bon , car ça ne marche toujours pas.

ViPHP
ViPHP | 2577 Messages

26 sept. 2012, 13:16

Il faut également contrôler la bonne exécution de la requête sql. Les fonctions mysql_errno() et mysql_error() sont faites pour ca.