comment faire pour que le resultat d'un formulaire soit saisie ds 2 bdd

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 : comment faire pour que le resultat d'un formulaire soit saisie ds 2 bdd

par elrime » 26 sept. 2008, 14:57

et voilà,

çà fonctionne ! :D

merci pour tout Guilt92

:D

par guilt92 » 26 sept. 2008, 14:49

Disons que le fait que ta variable s'appelle $sql ne la fait pas s'executer toute seul pour autant.

Tu peux tres bien faire :
$toto = "INSERT INTO ... VALUES ...";
$titi = "INSERT INTO ... VALUES ...";
$tata = "Bonjour"; //l'effet est exactement le même : affecter une valeur a une variable, c'est tout
Il faudra pour exécuter ces requetes dans ta base utiliser la fonction mysql_query();
$toto = "INSERT INTO ... VALUES ...";
$titi = "INSERT INTO ... VALUES ...";
mysql_query($toto) or die(mysql_error()); //execute le 1er insert
mysql_query($titi) or die(mysql_error()); //execute le 2nd insert
Dans ton cas, comme tu changes de db, il est impératif d'effectuer le mysql_query AVANT de faire le second mysql_connect.
Ensuite comme tu écrases ta valeur $sql avec une nouvelle requete il faudra refaire un mysql_query pour executer cette nouvelle requete...

C'est plus clair ;) ?

par elrime » 26 sept. 2008, 14:40

autant pour moi, je n'ai pas collé tout le code car il est asse long, je le renvoie sur mon mail, sur la page web ... je remet la parti avec query , mais apparament il faut que j'en mette un 2 eme si je comprend bien :p
<?php
//connection au serveur
$cnx = mysql_connect( "localhost", "xxx", "xxx" ) ;

//sélection de la base de données:
$db = mysql_select_db( "ALCHIWEB" ) ;

//récupération des valeurs des champs:
$demande=$_POST["demande"] ;
$societe=$_POST["societe"] ;
$adresse1=$_POST["adresse1"] ;
$adresse2=$_POST["adresse2"] ;
$CP=$_POST["CP"] ;
$ville=$_POST["ville"] ;
$pays=$_POST["pays"] ;
$famille=$_POST["famille"] ;
$civilite= $_POST["civilite"] ;
$nom = $_POST["nom"] ;
$prenom= $_POST["prenom"] ;
$tel= $_POST["tel"] ;
$mobile= $_POST["mobile"] ;
$fax=$_POST["fax"] ;
$mail=$_POST["mail"] ;
$message=$_POST["message"] ;
//création de la requête SQL:
$sql = "INSERT INTO ALCHIWEB (demande, societe, adresse1, adresse2, cp, ville, pays, famille, civilite, nom, prenom, tel, mobile, fax, mail, message, date)
VALUES ( '$demande','$societe','$adresse1','$adresse2','$cp','$ville', '$pays', '$famille', '$civilite', '$nom', '$prenom', '$tel', '$mobile', '$fax', '$mail', '$message', NOW())";



$msg = "Merci de votre attention $civilite $nom, nous avons bien reçu les informations suivantes: \n\n";
$msg .= "Demande:\t$demande\n";
$msg .= "Société:\t$societe\n";
$msg .= "Famille:\t$famille\n";
$msg .= "Civilité:\t$civilite\n";
$msg .= "Nom:\t$nom\n";
$msg .= "Prenom:\t$prenom\n";
$msg .= "Adresse1:\t$adresse1\n";
$msg .= "Adresse2:\t$adresse2\n";
$msg .= "Code Postal:\t$cp\n";
$msg .= "Ville:\t$ville\n";
$msg .= "Pays:\t$pays\n";
$msg .= "Tel:\t$tel\n";
$msg .= "Mobile:\t$mobile\n";
$msg .= "Fax:\t$fax\n";
$msg .= "E-Mail:\t$mail\n";
$msg .= "Message:\t$message\n\n";
$msg .= "Merci de ne pas répondre à ce message: \n\n";
$msg .= "Retourner sur le site : http://www.alchiweb.fr \n\n";
$recipient = "[email protected],";
$subject = "Demande auprès d'Alchiweb.fr, société: $societe, $civilite $nom";
$headers = "Bcc: $mail\r\n";
mail($recipient, $subject, $msg, $headers);


//exécution de la requête SQL:
$requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;
:roll:
ha tu viens de rajouter une ligne :p je comprend mieu là :D je vais essayer dessuite :D

par guilt92 » 26 sept. 2008, 14:23

Euh...

C'est bien de définir une chaine de caractère qui s'appelle $sql, mais faut pas oublier de faire un mysql_query si tu veux l'exécuter ;)
$sql = "....";
mysql_query($sql) or die(mysql_error());

$db = mysql_select_db( "phpmnl_email" ) ; 
$sql = "...2";
mysql_query($sql) or die(mysql_error());
Au passage je pense que tu n'as pas besoin de refaire un msyql_connect() si il s'agit du meme serveur (sauf si user différent bien sur...).

par elrime » 26 sept. 2008, 14:11

de la meme maniere en fait ... :p

$cnx = mysql_connect( "localhost", "xxx", "xxx" ) ;
$db = mysql_select_db( "ALCHIWEB" ) ;


$demande=$_POST["demande"] ;
$societe=$_POST["societe"] ;
$adresse1=$_POST["adresse1"] ;
$adresse2=$_POST["adresse2"] ;
$CP=$_POST["CP"] ;
$ville=$_POST["ville"] ;
$pays=$_POST["pays"] ;
$famille=$_POST["famille"] ;
$civilite= $_POST["civilite"] ;
$nom = $_POST["nom"] ;
$prenom= $_POST["prenom"] ;
$tel= $_POST["tel"] ;
$mobile= $_POST["mobile"] ;
$fax=$_POST["fax"] ;
$mail=$_POST["mail"] ;
$message=$_POST["message"] ;

$sql = "INSERT INTO ALCHIWEB (demande, societe, adresse1, adresse2, cp, ville, pays, famille, civilite, nom, prenom, tel, mobile, fax, mail, message, date)
VALUES ( '$demande','$societe','$adresse1','$adresse2','$cp','$ville', '$pays', '$famille', '$civilite', '$nom', '$prenom', '$tel', '$mobile', '$fax', '$mail', '$message', NOW())";

$cnx = mysql_connect( "localhost", "xxx", "xxx" ) ;
$db = mysql_select_db( "phpmnl_email" ) ;

$mail=$_POST["mail"] ;

$sql = "INSERT INTO phpmnl_email (email)
VALUES ('$mail')";


j'ai juste recopié une partie en pensant que çà copierai dans les 2 bases .. mais çà marche pas comme çà je pense :D

par guilt92 » 26 sept. 2008, 13:53

Bonjour,

tu la fais comment l'insertion qui est "squizzée" ?? Montre le code des deux stp

comment faire pour que le resultat d'un formulaire soit sais

par elrime » 26 sept. 2008, 12:58

Bonjour à tous :)

voilà je vous explique :
j'ai un formulaire qui saisie tous ses résultat dans une BDD

et je voudrai que le résultat "email" de mon formulaire soit aussi saisi dans une autre bdd ; celle de ma newsletter (phpmynewsletter)

car pour le moment je copie manuellement les adresses mails :roll:

étant débutant j'ai essayer de copier cela après l'insertion de ma première bdd :
$cnx = mysql_connect( "localhost", "xxx", "xxx" ) ;
$db = mysql_select_db( "phpmnl_email" ) ;

//récupération des valeurs des champs:
$mail=$_POST["mail"] ;
//création de la requête SQL:
$sql = "INSERT INTO phpmnl_email (email)
VALUES ('$mail')";
le résultat est que la première bdd est totalement sqwizé :shock: aucune saisie dans celle ci, par contr ele mail se rajoute bien dans mon autre base phpmnl_email .

Merci d'avance de votre attention :D