PHP, MySQL et Flash comment lier tout ca ...

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 : PHP, MySQL et Flash comment lier tout ca ...

Re: PHP, MySQL et Flash comment lier tout ca ...

par Meutledaron » 27 mars 2010, 18:00

Voila j'ai trouver :

Pour une raison que je ne connais pas quand on passe par : $jour = $_POST[$jour]; etc les valeurs s'effacent.
J'ai donc supprimer les lignes et ca marche :)

Merci a tous pour votre aide.

Re: PHP, MySQL et Flash comment lier tout ca ...

par Meutledaron » 27 mars 2010, 17:45

Donc ca me retourne ca :
INSERT INTO calendrier(jour,mois,annee,evenement)VALUES('', '', '', '')

Re: PHP, MySQL et Flash comment lier tout ca ...

par stealth35 » 27 mars 2010, 17:31

fais un
echo $query
a la fin du script

Re: PHP, MySQL et Flash comment lier tout ca ...

par Meutledaron » 27 mars 2010, 17:20

Maintenant ce message d'erreur : Il faut choisir un jour.

Code : Tout sélectionner

<? include('connexion.php'); $jour=$_POST["jour"]; $mois=$_POST["mois"]; $annee=$_POST["annee"]; $evenement=$_POST["evenement"]; if($jour==""){echo "<center>Il faut choisir un jour.</center>";exit;} if($mois==""){echo "<center>Il faut choisir un mois.</center>";exit;} if($annee==""){echo "<center>Il faut choisir une année.</center>";exit;} if($evenement==""){echo "<center>Il faut saisir un évènement.</center>";exit;} $table="calendrier"; $query = "INSERT INTO $table(jour,mois,annee,evenement)"; $query .= "VALUES('$jour','$mois','$annee','$evenement')"; mysql_real_escape_string($jour); mysql_real_escape_string($mois); mysql_real_escape_string($annee); mysql_real_escape_string($evenement); $result = mysql_query($query) or exit("Erreur MySQL : $query <br />".mysql_error()); mysql_close(); ?>
Quand je tape le code la : <?php echo $jour; ?><br>
<?php echo $mois; ?><br>
<?php echo $annee; ?><br>
<?php echo $evenement; ?>

J'ai bien les valeur qui s'affiche... mais les enregistrement mySQL reste a 0

Re: PHP, MySQL et Flash comment lier tout ca ...

par Meutledaron » 27 mars 2010, 17:05

Donc la je vien de coriger l'erreur qui empecher l'execution du script : $query .= "VALUES('$jour','$mois','$annee','$evenement')";
l'oublie de l'apostrophe avant $evenement.

Maintenant j'ai bien un enregistrement mais toutes les valeurs sont a 0

id jour mois annee evenement
1 27 3 2010 HO HO HO...Joyeux No?l !!!
2 12 3 2006 - Ceci est un test !!!
3 0 0 0

Re: PHP, MySQL et Flash comment lier tout ca ...

par Meutledaron » 27 mars 2010, 17:02

VOici l'erreur retourner :

Erreur MySQL : INSERT INTO calendrier(jour,mois,annee,evenement)VALUES('','','',')
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '')' at line 1

Re: PHP, MySQL et Flash comment lier tout ca ...

par stealth35 » 27 mars 2010, 16:49

tu fais
$result = mysql_query($query) or exit("Erreur MySQL :  $query <br />".mysql_error());

Re: PHP, MySQL et Flash comment lier tout ca ...

par Meutledaron » 27 mars 2010, 16:48

Merci pour les réponses :

Donc voila après avoir fais la modification j'ai le message d'erreur suivant :
Erreur MySQL : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '')' at line 1

Code : Tout sélectionner

<? include('connexion.php'); if($jour==""){echo "<center>Il faut choisir un jour.</center>";exit;} if($mois==""){echo "<center>Il faut choisir un mois.</center>";exit;} if($annee==""){echo "<center>Il faut choisir une année.</center>";exit;} if($evenement==""){echo "<center>Il faut saisir un évènement.</center>";exit;} $table="calendrier"; $jour=$_POST["jour"]; $mois=$_POST["mois"]; $annee=$_POST["annee"]; $evenement=$_POST["evenement"]; $query = "INSERT INTO $table(jour,mois,annee,evenement)"; $query .= "VALUES('$jour','$mois','$annee',$evenement')"; mysql_real_escape_string($jour); mysql_real_escape_string($mois); mysql_real_escape_string($annee); mysql_real_escape_string($evenement); $result = mysql_query($query) or die("Erreur MySQL : ".mysql_error()); mysql_close(); ?>

mysql_real_escape_string() donc ca donne ce que j'ai fais au dessus ?

Merci
PS : Je cherche comment faire pour debugger.

Re: PHP, MySQL et Flash comment lier tout ca ...

par @rthur » 27 mars 2010, 15:39

:!: :!: :!: ET UTILISE myql_real_escape_string() !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

http://fr.php.net/myql_real_escape_string

Re: PHP, MySQL et Flash comment lier tout ca ...

par @rthur » 27 mars 2010, 15:38

Bonjour,

Remplace
$result = mysql_query($query);
par
$result = mysql_query($query) or die("Erreur MySQL : ".mysql_error());
Ainsi tu verras le message d'erreur MySQL si il y en a un...

Après pour débuguer, fait un print de ta requête avant de l'exécuter et débugue là dans phpMyAdmin

PHP, MySQL et Flash comment lier tout ca ...

par Meutledaron » 27 mars 2010, 15:35

Avant toute chose Bonjour a tous,

Je me suis inscris sur votre forum dans le but d'avoir une aide a un problème que je rencontre actuellement.

Je suis en train de développer un site internet pour une association qui s'apelle Géolor, on m'a demander de refaire a neuf leur ancien site. (http://www.geolor.fr) donc en attendant qu'il soye terminer le nouveau site est héberger ici : http://www.rescue-pc.fr

Je voulais metre en place un systeme de calendrier pour que les membres clique sur les dates et vois quel évènement est organiser ce jour la.

Donc le calendrier je l'ai trouver ici : http://www.codes-sources.com/code.aspx?ID=36439

Le seul problème c'est qu'il n'y a pas de page pour ajouter un évènement donc j'ai créer cette page qui est encore a améliorer : http://www.rescue-pc.fr/membres/agenda/ajout.php

Mais au moment ou envoyer le code rien ne se passe et je ne m'y connais pas très bien en Mysql
Donc j'ai deux pages :
ajout.php

Code : Tout sélectionner

<? include("connexion.php"); if($jour==""){echo "<center>Il faut choisir un jour.</center>";exit;} if($mois==""){echo "<center>Il faut choisir un mois.</center>";exit;} if($annee==""){echo "<center>Il faut choisir une année.</center>";exit;} if($evenement==""){echo "<center>Il faut saisir un évènement.</center>";exit;} $table="calendrier"; $jour=$_POST["jour"]; $mois=$_POST["mois"]; $annee=$_POST["annee"]; $evenement=$_POST["evenement"]; $query = "INSERT INTO $table(jour,mois,annee,evenement)"; $query .= "VALUES('$jour','$mois','$annee',$evenement')"; $result = mysql_query($query); ?> <? mysql_close(); ?>
et Connexion.php

Code : Tout sélectionner

<?php $host="localhost"; // laisser "localhost" pour tester en local, sinon, c'est votre nom d'utilisateur : $user="root"; // laisser vide pour tester en local, sinon, c'est votre mot de passe d'utilisateur : $pass=""; // rentrer votre nom de base sur easyPHP pour tester en local, sinon, c'est souvent votre nom d'utilisateur : $db="agenda"; mysql_connect($host, $user, $pass) or die("Pas de connexion au serveur"); mysql_select_db($db) or die("Cette table n'existe pas"); ?>
Sachant que la structure de ma base de données est la suivante :

Code : Tout sélectionner

-- -- Structure de la table `calendrier` -- DROP TABLE IF EXISTS `calendrier`; CREATE TABLE IF NOT EXISTS `calendrier` ( `id` int(11) NOT NULL auto_increment, `jour` int(11) NOT NULL default '0', `mois` int(11) NOT NULL default '0', `annee` int(11) NOT NULL default '0', `evenement` text NOT NULL, KEY `id` (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=2 ; -- -- Contenu de la table `calendrier` -- INSERT INTO `calendrier` (`id`, `jour`, `mois`, `annee`, `evenement`) VALUES (1, 25, 12, 2005, 'HO HO HO...\nJoyeux Noël !!!'); INSERT INTO `calendrier` (`id`, `jour`, `mois`, `annee`, `evenement`) VALUES (2, 12, 3, 2006, '- Ceci est un test !!!');
Voila je ne vous demande pas de tout faire a ma place mais si quelqu'un pouvais me donner un petit coup de pouce ou m'orienter dnas la bonne direction ca serais gentil .
Cordialement Julien