PHP: insertion dans la base

markaz Messages postés 331 Date d'inscription   Statut Membre Dernière intervention   -  
markaz Messages postés 331 Date d'inscription   Statut Membre Dernière intervention   -
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
 
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
Zebrus
 
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   Statut Membre Dernière intervention   207
 
Si c'est vraiment le cas, franchement...
0
Zebrus
 
Les erreurs bêtes sont parfois les plus dures à trouver ;)
0
markaz Messages postés 331 Date d'inscription   Statut Membre Dernière intervention   5
 
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