PHP : Mise a jour d'une B2D via un formulaire
Michael_gengen
Messages postés
98
Date d'inscription
Statut
Membre
Dernière intervention
-
Michael_gengen Messages postés 98 Date d'inscription Statut Membre Dernière intervention -
Michael_gengen Messages postés 98 Date d'inscription Statut Membre Dernière intervention -
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?!
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?!
A voir également:
- PHP : Mise a jour d'une B2D via un formulaire
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
6 réponses
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!
l'important c'est la vie et dans la vie faut avancer
donc l'imortant c'est d'avancer dans la vie!
Bonjour!!
Tu devrais mettre tes requètes pour qu'on puisse t'aider le plus efficacement possible... ;-)
Maily :-))))
Boumj'chtattrape
Tu devrais mettre tes requètes pour qu'on puisse t'aider le plus efficacement possible... ;-)
Maily :-))))
Boumj'chtattrape
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!
// 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!
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!
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!
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.
$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.
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!
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!
Bonjour!!
Euh, les guillemets doivent être sur la chaine de caractère que tu vas entrer, par sur le nom du champs:
Maily :-))))
Boumj'chtattrape
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
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?
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?
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
l'important c'est la vie et dans la vie faut avancer
donc l'imortant c'est d'avancer dans la vie!
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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!
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!
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!
l'important c'est la vie et dans la vie faut avancer
donc l'imortant c'est d'avancer dans la vie!