Aller au contenu

Formulaire qui fonctionne pas :'( !


Sujets conseillés

Posté

Bonjour,

J'ai créé un formulaire en php pour insérer des données dans une base sql. Et après avoir tout saisi dans la page du formulaire, je clique sur "Envoyer" et il m'affiche donc le message me disant qu'il à bien été validé. Mais les données ne sont toujours pas insérés dans ma base de données MySQL !

Voilà mon fichier PHP, je ne vois pas où pourrait-il y avoir des erreurs :'( !

<?

// Récupération des données du formulaires
$Callsign = $_POST['Callsign'];
$Jour = $_POST['Jour'];
$Mois = $_POST['Mois'];
$Annee = $_POST['Annee'];
$Type = $_POST['Type'];
$Appareil = $_POST['Appareil'];
$Immat = $_POST['Immat'];
$Carburant = $_POST['Carburant'];
$Unit = $_POST['Unit'];
$FlightNb = $_POST['N_de_Vol'];
$Departure = $_POST['Departure'];
$Arrival = $_POST['Arrival'];
$Alternative = $_POST['Alternative'];
$Landed = $_POST['Landed'];
$Distance = $_POST['Distance'];
$Kts = $_POST['Kts'];
$Altitude = $_POST['Altitude'];
$Passagers = $_POST['Passagers'];
$Cargo = $_POST['Cargo'];
$Nature = $_POST['Nature'];
$DepHeure = $_POST['DepHeure'];
$DepMin = $_POST['DepMin'];
$TimeHeure = $_POST['TimeHeure'];
$TimeMin = $_POST['TimeMin'];
$Route = $_POST['Route'];
$Commentaires = $_POST['Commentaires'];

// Opération de concaténage pour assembler les Dates et Heures

$Date = "$Annee'-'$Mois'-'$Jour' '$DepHeure':'$DepMin':00'";
$Duree = "$TimeHeure':'$TimeMin':00'";


// Connexion à la base de donnée
$connexion = mysql_connect("sql.free.fr","va.skyjet","xxxxxx");
mysql_select_db("va.skyjet",$connexion);

// On créer la requête SQL, pour ensuite l'envoyer
$requete = "INSERT INTO rapport VALUES('','$Date','$Callsign','$Type','$Appareil','$Immat','$Carburant','$Unit','$FlightNb','$Departure','$Arrival','$Alternative','$Landed','$Distance','$Kts','$Altitute','$Passagers','$Fret','$Nature','','$Duree','$Route','$Commentaires','0')";
mysql_query($requete);

echo "Les données ont été envoyés !";

// Fermeture de la connexion vers Mysql
mysql_close();

?>

Quelqu'un peut-il m'aider SVP ??

Merci ;) !

Posté (modifié)

Déjà ,je pense que tu as un probléme dans ton insert,il faut qu'il soit de la forme :

INSERT INTO ta_table(champs1,champs2,champs3,[...]) VALUES('valchamps1','valchamps2','valchamps3',[...])

Modifié par K-Ola
Posté

Ca marche si je met INSERT INTO ma_table (*) VALUES(......) ?

Parce que je dois tout insérer et j'ai plus de je ne sais combien de champs !

Posté (modifié)

Ta méthode fonctionne,mais celle ci est beaucoup plus souple et évite beaucoup d'erreurs dûes à la structure de la base

pour le ma_table(*) je ne suis pas sur que ca fonctionne

Modifié par K-Ola
Posté

Vérifie aussi que tu autorise la valeur Null la ou tu en a inséré dans ta base de donnée

Posté

Ah sauf si tu me dis pour celle en plein milieu, effectivement, c'était un champ vide, j'ai supprimé la colonne ainsi que le '' dans mon INSERT INTO

Posté

Je pense qu'en fait, le problème vient de tes concaténations :

$Date = "$Annee'-'$Mois'-'$Jour' '$DepHeure':'$DepMin':00'";
$Duree = "$TimeHeure':'$TimeMin':00'";

Ce code n'est pas correct car ta variable date contient des simples quotes. Donc du coup, ça perturbe totalement ta requête.

Il faudrait faire :

$Date = $Annee . '-' . $Mois . '-' . $Jour . ' ' . $DepHeure . ':' . $DepMin . ':00';
$Duree = $TimeHeure . ':' . $TimeMin . ':00';

Normalement, ça devrait fonctionner.

S'il y a encore une erreur, vérifie le format de tes champs DATE.

Et surtout, quand tu developpes, utilise toujours mysql_error() ;)

Posté

Bah la tu m'épate Sonia, à chaque fois que j'ai un problème, c'est toi qui trouve la solution ;) !

C'est vrai que ça venait de la concaténation :hypocrite: !

En fait je l'ai su juste avant que tu poste parce qu'en fait j'ai fait un "echo" sur la requête pour savoir ce qu'il insérait réellement, et j'ai vu que les dates avaient des mauvaises syntaxes et que même par phpmyadmin il ne voulait pas l'insérer. Et en fait j'ai essayé de refaire ma concaténation mais avec ce code :

$Date = "$Annee-$Mois-$Jour $DepHeure:$DepMin:00";
$Duree = "$TimeHeure:$TimeMin:00";

Et puis maintenant ça marche !

Merci de m'avoir aidé à tous, et à bientôt !

PS : Merci Captain_Torche je pense que le mysql_error va m'aider (vu que j'ai souvent des erreurs) !

@+++ !

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...