Flux rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

PHP : Mise a jour d'une B2D via un formulaire

Michael_gengen, le mercredi 24 novembre 2004 à 11:18:57
Bonjour a tous.
Sissi aujourd'hui est un bon jour...
Voila, je suis en train de développer un programme sous php dans le but de faire du mailing. Je suis en stage dans une imprimerie et le patron voudrait faire une mise a jour de ses clients en leur envoyant un mail.

Déjà la premiere partie du programme fonctionne. Je parcours la base de données enfin les adresses e-mail et le mail est automatiquement envoyé au destinataire par le biais d'un sript php-html.

Mon problème est que dans le formulaire j'ai deux liens. Un qui sert a renvoyer les informations qui renvoit vers une page html disant en visuel que les info ont bien été envoyé, avec derriere la mise a jour de la base de données(Update des champs) et un autre servant a mettre le champs Blacklist a 1 permettant l'arret d'envoi de mail a l'adresse.

J'espère etre assez explicit.
Je vous remercie d'avance. Je ne vous cache pas que mon projet est a rndre inséssement sous peu alors merci de votre compréhension a toutes et à tous.


l'important c'est la vie et dans la vie faut avancer
donc l'imortant c'est d'avancer dans la vie! pffff wa?!
Répondre à Michael_gengen  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Michael_gengen, le mercredi 24 novembre 2004 à 11:35:53
Le problème est au niveau des requêtes. J'y travaille mais j'attends a cou de clic toutes contributions sérieuses.

l'important c'est la vie et dans la vie faut avancer
donc l'imortant c'est d'avancer dans la vie!
Répondre à Michael_gengen

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
maily, le mercredi 24 novembre 2004 à 11:57:53
Bonjour!!

Tu devrais mettre tes requètes pour qu'on puisse t'aider le plus efficacement possible... ;-)

Maily :-))))
Boumj'chtattrape
Répondre à maily

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Michael_gengen, le mercredi 24 novembre 2004 à 12:05:00
Voila une

// connection au serveur localhost
if( $id = mysql_connect($srv,$usr,$pass) )
{
echo "youpi :) 1";
// connection à la base dev
if( mysql_select_db($base) ) {
echo "Succès de connexion.";
//requete de mise à jour du champs Blacklist de la table Mailing
$requete="UPDATE `mailing` Blacklist=='1' where Idclient="'.$Idclient.'";";
if (mysql_query($requete))
{
echo "Vous ne faites plus partie de liste de mailing GABEL";
}
else
{
echo "erreur requete : ".$requete;
}
}else{
echo "Echec connexion à la bdd";
}
//fermeture de la base de donnée
mysql_close($id);
echo "youpi :) 2";
} else {
echo "banga!";
//traitement si la connexion au serveur a échoué
die("Echec de connexion au serveur de base de données.");
}


?>




l'important c'est la vie et dans la vie faut avancer
donc l'imortant c'est d'avancer dans la vie!
Répondre à Michael_gengen

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Michael_gengen, le mercredi 24 novembre 2004 à 12:06:51
Voila l'erreur correspondante


Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in c:\program files\easyphp1-7\www\php\formulaire2.php on line 15


Ligne 15 c'est la ou il ya la syntaxe de mon Update


l'important c'est la vie et dans la vie faut avancer
donc l'imortant c'est d'avancer dans la vie!
Répondre à Michael_gengen

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
kalamit, le mercredi 24 novembre 2004 à 15:30:59
Effectivement, c'est la que ca merde:
$requete="UPDATE `mailing` Blacklist=='1' where Idclient="'.$Idclient.'";";

Tu as inversé les simple quote et les double quote autour de $IdClient.
Il faut ecrire:
$requete="UPDATE 'mailing' Blacklist='1' where Idclient=' ".$Idclient;

Pas besoin de ; à la fin de la requete.

Si ca ne fonctionne pas, fais un echo $requete; et copie colle dans phpmyadmin pour voir l'erreur que Mysql te retourne.

Il y avait également une erreur de syntaxe on ne mets pas == en sql.

Les quote inversé ne sont pas une erreur en soit et ont été peché dans phpmyAdmin. (c'est comme ca qu'il réecrit les requetes). :)


Kalamit,
Y'a pas de fumée sans pneus.
Répondre à kalamit

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Michael_gengen, le vendredi 26 novembre 2004 à 11:24:52
Bonjour a tout le monde

Je suis parvenu a résoudre le problème de ma première requete. Aujourd'hui s'en ait une autre qui me pose problème:
R2

// connection au serveur localhost
if( $id = mysql_connect($srv,$usr,$pass) )
{
// connection à la base dev
if( mysql_select_db($base) )
{
echo "Succès de connexion.";
//traitement si la requete a été executée avec succès
$requete="UPDATE mailing SET 'Comprenom' = ".$Comprenom.",
'Comnom' = ".$Comnom.",
'Comligne' = ".$Comligne.",
'Commail' = ".$Commail.",
'Adprenom' = ".$Adprenom.",
'Adnom' = ".$Adnom.",
'Adligne' = ".$Adligne.",
'Admail' = ".$Admail." WHERE Idclient = ".$Idclient." LIMIT 1;";
if($result = mysql_query($requete))
{
echo "la mise à jour a été effectué";
}
else
{
//traitement si l'execution de la requete à echoué
echo "Erreur de requête de base de données.";
echo $requete;
}
}
else
{
//traitement si la connexion à la base à échoué
die("Echec de connexion à la base.");
}
//fermeture de la base de donnée
mysql_close($id);
} else
{
//traitement si la connexion au serveur a échoué
die("Echec de connexion au serveur de base de données.");
}


?>

Msg d'erreur :

Succès de connexion.Erreur de requête de base de données.UPDATE mailing SET 'Comprenom' = , 'Comnom' = , 'Comligne' = , 'Commail' = , 'Adprenom' = , 'Adnom' = , 'Adligne' = , 'Admail' = WHERE Idclient = LIMIT 1;

==> Pour moi le problème vient des guillemets mais pour l'instant je ne suis pas encore parvenu a le résoudre.

Merci d'avance de votre aide à toutes et à tous.


l'important c'est la vie et dans la vie faut avancer
donc l'imortant c'est d'avancer dans la vie!
Répondre à Michael_gengen

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
maily, le vendredi 26 novembre 2004 à 12:00:15
Bonjour!!
Euh, les guillemets doivent être sur la chaine de caractère que tu vas entrer, par sur le nom du champs:

"UPDATE mailing SET Comprenom =' ".$Comprenom."',
Comnom = '".$Comnom."',
Comligne = '".$Comligne."',
Commail = '".$Commail."',
Adprenom = '".$Adprenom."',
Adnom = '".$Adnom."',
Adligne = '".$Adligne."',
Admail = '".$Admail."' WHERE Idclient = ".$Idclient." LIMIT 1;"; 


Maily :-))))
Boumj'chtattrape
Répondre à maily

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 Michael_gengen, le vendredi 26 novembre 2004 à 16:19:01
Merci Maily c'est cool.
Je m'en suis rendu compte aprés et je passais sur le forum pour communiquer l'info. Mon script fonctionne! Voila. Encore merci a toi.

l'important c'est la vie et dans la vie faut avancer
donc l'imortant c'est d'avancer dans la vie!
Répondre à Michael_gengen

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
ButcherTux, le mercredi 24 novembre 2004 à 14:21:33
saloute,

essais plutot ceci :

$requete="UPDATE `mailing` Blacklist=='1'
WHERE Idclient='".$Idclient."';";

les guillemets simple à l'interieur des guillemets.
Sinon pourquoi les simples guillemets inversés à mailing?
Répondre à ButcherTux

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Michael_gengen, le mercredi 24 novembre 2004 à 14:44:52
Oui avec ce sript j'affecte a blacklist 1 mais j'ai déjà essayé. Je retest c'est tellement surprenant des fois...

l'important c'est la vie et dans la vie faut avancer
donc l'imortant c'est d'avancer dans la vie!
Merci
Répondre à Michael_gengen

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Michael_gengen, le mercredi 24 novembre 2004 à 14:49:23
youpi :) 1Succès de connexion.
Notice: Undefined variable: Idclient in c:\program files\easyphp1-7\www\php\formulaire2.php on line 16
erreur requete : UPDATE `mailing` Blacklist=='1' WHERE Idclient='';youpi :) 2

l'important c'est la vie et dans la vie faut avancer
donc l'imortant c'est d'avancer dans la vie!
Répondre à Michael_gengen

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Michael_gengen, le mercredi 24 novembre 2004 à 15:25:07
Ce n'est pas les guillemets inversés à mailing qui causent le problème puisque je les ai dans une autre page ou il y a 0 défaut. Non je sais pas je l'ai vu écris comme ça et je l'ai adopté voila tout. Merci encore. Je continue à creuser.

l'important c'est la vie et dans la vie faut avancer
donc l'imortant c'est d'avancer dans la vie!
Répondre à Michael_gengen
Mise a jour du bios (Résolu)bonjour je voudrait savoir si il est possible de faire une mise a jour du bios si oui comment merci www.commentcamarche.net/forum/affich-3403004-mise-a-jour-du-bios
Mise a jour du bios ! (Résolu)Bonsoir ! je voudrais savoir si l ' on peut mettre a Jour le bios ? Si oui comment fait on , Merci , Bonne fin de Soirée :) www.commentcamarche.net/forum/affich-8098924-mise-a-jour-du-bios
[Brève] mobilisation générale pour une journée du bonheurfête des pères, fête des mères, du travail, des voisins, de la musique... journée sans tabac, sans voitures, sans achat... et pourquoi pas une journée du bonheur, placée sous le signe de la joie, de la décontraction et de la bonne humeur, s'est un... www.commentcamarche.net/actualites/breve-mobilisation-generale-pour-une-journee-du-bonheur-4102042-actualite.php3
Toutes les réponses pour « PHP : Mise a jour d'une B2D via un formulaire »