PHP: insertion dans la base

Fermé
markaz Messages postés 331 Date d'inscription mercredi 18 avril 2007 Statut Membre Dernière intervention 16 septembre 2015 - 6 mai 2011 à 13:42
markaz Messages postés 331 Date d'inscription mercredi 18 avril 2007 Statut Membre Dernière intervention 16 septembre 2015 - 6 mai 2011 à 16:07
Bonjour, je doit insérer des données saisies par un client dans ma base de données, le problème c'est que PHP ne m'indique aucune erreur mais aucune données n'est insérées dans la base de donnée.
voici mon script:

<?php
//Connexion à la base de données
include("config/connect.php");

//Envoi de mail
if(isset($_POST['nom'])) {

if (empty($_POST['nom'])){
echo "<script language=\"javascript\">
alert(\"Veuillez ajouter votre nom, Merci\");
document.forms[0].nom.focus();</script>";
}

else{
if(empty($_POST['prenom'])){
echo "<script language=\"javascript\">
alert(\"Veuillez ajouter votre prénom, Merci\");
document.forms[0].prenom.focus();</script>";
}

else{
if(empty($_POST['tel'])){
echo "<script language=\"javascript\">
alert(\"Veuillez ajouter votre numéro de téléphone, Merci\");
document.forms[0].tel.focus();</script>";
}

else {
// ont verifie que l'email est valide
if(!preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]
{2,4}$#", $_POST['email'])){
echo"<script language=\"javascript\">
alert(\"L\'adresse e-mail: ".$_POST['mail']."n\'est pas valide,
vueillez reprendre\");
document.forms[0].nom.focus();</script>";
}
else{
if(($_POST['type']!='espece') && ($_POST['type']!='materiel')) {
echo "<script language=\"javascript\">alert(\"Veuillez choisir la nature du don, Merci\");
document.forms[0].type.focus();</script>";
}
else{
if($_POST['type']=='espece'){
// On met la première lettre en caital, on convertit les caractères locaux en HTLM et
// on ajoute les caractères d'échappement
$nom = strtoupper(htmlentities(addslashes($_POST['nom'])));
//On met la première lettre de chaque mot en capital ....
$prenom = ucwords(htmlentities(addslashes($_POST['prenom'])));
$tel = htmlentities(addslashes($_POST['tel']));
$email = htmlentities(addslashes($_POST['email']));
$valeur= htmlentities(addslashes($_POST['espece']));
$date = date ("Ymd", mktime (0,0,0,date("m"),date("d"),date("Y")));

// on insere
mysql_query("INSERT INTO operationsiege (id, nom, prenom, tel, mail, valeur, date) VALUES ('', '$nom', '$prenom', '$tel', '$mail', $valeur, $date)");
echo"<script language=\"javascript\">
alert('email envoyé avec succès')</script>";
}
else{
if($_POST['type']=='materiel'){

$nom = strtoupper(htmlentities(addslashes($_POST['nom'])));
$prenom = htmlentities(addslashes($_POST['prenom']));
$tel = htmlentities(addslashes($_POST['tel']));
$email = htmlentities(addslashes($_POST['email']));
$valeur= htmlentities(addslashes($_POST['materiel']));
$date = date ("Ymd", mktime (0,0,0,date("m"),date("d"),date("Y")));

$materiel=$_POST['matereiel'];
if (is_array($materiel)){

foreach (materiel as $clef=>$valeur1){
$touslemateriel.=$valeur1;
}
$materiel=$touslemateriel;

/*on insere
mysql_query("INSERT INTO operationsiege(id, nom, prenom,tel, mail, valeur, date) VALUES ('', '$nom', '$prenom', '$tel', '$mail', '$espece','$materiel', NOW())");
echo"<script language=\"javascript\">
alert('email envoyé avec succès')</script>";
}
}
}
}

}
}
}
}
}
?>



A voir également:

2 réponses

Utilisateur anonyme
6 mai 2011 à 14:13
Bonjour,

Si dans la table operationsiege le champ id est une clef primaire (primary key) il ne faut pas ajouter ce champ dans la requête, même à vide.

Le code devient
mysql_query("INSERT INTO operationsiege (nom, prenom, tel, mail, valeur, date) VALUES ('$nom', '$prenom', '$tel', '$mail', $valeur, $date)");


Sinon vérifiez quand même que votre code arrive juste avant cette ligne en mettant juste avant un echo 'test'; pour déboger à tout hasard
0
Ton code est mis tel quel ?
Si oui, le "/*on insere " doit annuler la dernière requête puisqu'elle est en commentaire.

Si ce n'est pas ça, je ne vois pas trop, je laisse la place aux experts.
0
Meoran Messages postés 1562 Date d'inscription vendredi 28 août 2009 Statut Membre Dernière intervention 8 avril 2015 206
6 mai 2011 à 16:00
Si c'est vraiment le cas, franchement...
0
Les erreurs bêtes sont parfois les plus dures à trouver ;)
0
markaz Messages postés 331 Date d'inscription mercredi 18 avril 2007 Statut Membre Dernière intervention 16 septembre 2015 5
6 mai 2011 à 16:07
Non c'est pas le cas. C'est une erreur lors de la copie dans dreamweaver. Sinon il n'y a pas de pb ce sont les //
0