Id = 0 ; insertion mysql PHP
victoires
Messages postés
119
Date d'inscription
Statut
Membre
Dernière intervention
-
victoires Messages postés 119 Date d'inscription Statut Membre Dernière intervention -
victoires Messages postés 119 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Depuis certains temps, je rencontre un problème aléatoire avec mon formulaire d'inscription. chaque fois le client remplit ce formulaire et valide, ses données vont êtres insérer dans la base de données et il recoit un email avec ses identifiants et moi aussi en tant qu'admin je recois un mail de confirmation comme quoi il y a quelqu'un qui vient de s'incrire.
Mon problème est qu'il y a des fois et de façon aléatoire je reçois l'email de confirmation même le client il reçoit ses identifiants mais l'insertion dans la base de données échoue je ne peux pas le trouver dans la base de données, il lui associe un id = 0 c'est pour ça l'insertion échoue. Le problème est vraiment aléatoire des fois ça marche des fois ça ne marche pas.
Est ce que quelqu'un à une idée sur ce problème ou à déjà rencontre quelque chose pareil ? Merci d'avance
Bonne journée
Depuis certains temps, je rencontre un problème aléatoire avec mon formulaire d'inscription. chaque fois le client remplit ce formulaire et valide, ses données vont êtres insérer dans la base de données et il recoit un email avec ses identifiants et moi aussi en tant qu'admin je recois un mail de confirmation comme quoi il y a quelqu'un qui vient de s'incrire.
Mon problème est qu'il y a des fois et de façon aléatoire je reçois l'email de confirmation même le client il reçoit ses identifiants mais l'insertion dans la base de données échoue je ne peux pas le trouver dans la base de données, il lui associe un id = 0 c'est pour ça l'insertion échoue. Le problème est vraiment aléatoire des fois ça marche des fois ça ne marche pas.
Est ce que quelqu'un à une idée sur ce problème ou à déjà rencontre quelque chose pareil ? Merci d'avance
Bonne journée
A voir également:
- Id = 0 ; insertion mysql PHP
- Touche insertion clavier - Guide
- Insertion sommaire word - Guide
- Insertion filigrane word - Guide
- Insertion liste déroulante excel - Guide
- Insertion signature word - Guide
5 réponses
Salut,
Sans un bout de code c'est compliqué.
Comme est géré cette id ?
Il est unique et auto incrémenté par mysql ou c'est toi qui le gère ?
Sans un bout de code c'est compliqué.
Comme est géré cette id ?
Il est unique et auto incrémenté par mysql ou c'est toi qui le gère ?
il est unique et auto incrémenté
CODE :
en fait quand l'utilisateur valide le formulaire, j'exécute le code suivant :
$entreprise = new entreprise();
echo $entreprise->saveentreprise($_POST);
Header("Location: formulaire_fin.php");
fonction saveentreprise () :
la fonction savedata($data);
//-------------------------------------------------------------------------------------
function createdata() :
CODE :
en fait quand l'utilisateur valide le formulaire, j'exécute le code suivant :
$entreprise = new entreprise();
echo $entreprise->saveentreprise($_POST);
Header("Location: formulaire_fin.php");
fonction saveentreprise () :
function saveentreprise($data) { // Enregistrement gratuit via le formulaire front-office global $db,$http_root; $data["table"] = "table_formulaire"; $data["id"] = 0; $data["a_valider"] = 1; $id_entreprise = savedata($data); // traitement des données }
la fonction savedata($data);
//-------------------------------------------------------------------------------------
function savedata($data) { // sauvegarde du contenu d'un formulaire nouveau ou existant // et traitement des données si nécessaire include("inc/data_description.php"); while (list($field,$tab)=each($data_description[$data["table"]])) { switch ($tab["type"]) { case "date": $data[$field] = $data[$field]["Y"]."-".$data[$field]["M"]."-".$data[$field]["d"]; break; case "embed": $data[$field] = addslashes($data[$field]); break; } //$data[$field] = convertCharset($data[$field],0); $data[$field] = str_replace("'","'",$data[$field]); $data[$field] = str_replace("...","...",$data[$field]); //$data[$field] = addslashes($data[$field]); } //conserver la veleur d'identifiant username = Email_contact if ($data["table"]=="Base_EnvEnt") { $data["username"] = $data["Email_contact"]; if($data["username"] == "") { $data["username"] = $data["Email"]; } $data["Telephone"] = $data["Tel_contact"]; $data["Fax"] = $data["Fax_contact"]; } //print_r($data); if ($data["id"]>0) { return updatedata($data); } else { return createdata($data); // cas de création } }
function createdata() :
function createdata($data) { // creation d'un enregistrement dans la table $data["table"] // cf updatedata() include("inc/data_description.php"); global $db,$http_root,$_SESSION; unset($data['id']); // création du password si création d'une nouvelle fiche entreprise if ($data["table"]=="Base_EnvEnt") { //$data["username"] = $data["Email_contact"]; $data["password"] = randomString(8); /** * NC (2009-11-25) : a quoi sert la ligne suivante? si le mot de passe * généré correspond à un login existant, alors on change le mot de passe?? */ //while (loginExiste($data["password"], "Base_EnvEnt")) { $data["password"] = randomString(8); } //if(loginExiste($data["password"], "Base_EnvEnt")) { $data["password"] = randomString(8); } } //$data["password"] = ''; //$data["username"] = ''; //tester si le mode de passe est vide, alors on génère une autre if($data["password"] == '') { $data["password"] = randomString(8); } //tester si le nom d'utilisateur est vide if($data["username"] == '') { $data["username"] = $data["Email_contact"]; if($data["username"] == '') { $data["username"] = $data["Email"]; } } while (list($field,$tab)=each($data_description[$data["table"]])) { $tab_fields[] = "'".$field."'"; $tab_values[]= "\"".$data[$field]."\""; } //print_r($data); //print_r($tab_fields); //print_r($tab_values); $query = convertCharset("INSERT INTO ".$data["table"]." (".join(",",$tab_fields).",'date_crea','date_modif') VALUES (".join(",",$tab_values).",\"".date("Y-m-d H:i:s")."\",\"".date("Y-m-d H:i:s")."\")",0); $res =& $db->query($query); //echo $query; if (PEAR::isError($res)) { error_log($res->getMessage()." ".$query); } $new_id = $db->lastInsertId(); if ($data["table"]=="Base_EnvEnt") { $_SESSION["sess_guideenv_id_entreprise"]=$new_id; $raison_sociale = ($data["Raison_sociale"] != '') ? $data["Raison_sociale"] : '(vide)'; $body = "<p>Nouvelle fiche entreprise :</p><ul>"; $body .= "<li>Raison sociale : <a href='" . $http_root . "entreprise.php?id=" . $new_id . "'>" . $raison_sociale . "</a></li>"; $body .= "<li>Login : " . $data["username"] . "</li>"; $body .= "<li>Mot de passe : " . $data["password"] . "</li>"; $body .= "</ul>"; //error_log("client@enviroguide.fr"."eddie.lorsold@orange.fr"."Enviroguide: Ajout [".$data["Raison_sociale"]."] par Administrateur".$body); if ($_SESSION["sess_guideenv_SU"]==1) $who = "par Administrateur"; else $who = ""; envoiEmail("client@enviroguide.fr","pub@enviroguide.fr","Enviroguide: Ajout [".$data["Raison_sociale"]."] ".$who,$body); envoiEmail("client@enviroguide.fr","client@enviroguide.fr","Enviroguide: Ajout [".$data["Raison_sociale"]."] ".$who,$body); } return $new_id; }
Arf, je suis désolé, à ma naissance mes parents ne m'ont pas donné l'option POO...
Je code sans objet excepté pour le PDO.
Je ne peux pas t'aider, j'espère que quelqu'un d'autre passera par là.
Bon courage.
Je code sans objet excepté pour le PDO.
Je ne peux pas t'aider, j'espère que quelqu'un d'autre passera par là.
Bon courage.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question