A voir également:
- Recuperer des donnees de 2 tables differentes
- Recuperer video youtube - Guide
- Recuperer message whatsapp supprimé - Guide
- Table des matières word - Guide
- Comment récupérer un compte facebook piraté - Guide
- Impossible de récupérer mon compte gmail - Guide
26 réponses
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
17 sept. 2007 à 23:42
17 sept. 2007 à 23:42
Hum, regarde directement le contenu de ta table campagne avec PhPMyAdmin et surtout le champ codecampagne : si tu vois le texte $pseudo alors c'est normal que ça ne fonctionne pas !
En effet PHP ne va pas interpréter le contenu de ton champ (pourquoi le ferait-il ?) mais l'afficher tel quel c'est à dire ceci : ...$pseudo... en toutes lettres car pour lui ici c'est du texte !
Essai en remplaçant :
par
Ca donne quoi ?
En effet PHP ne va pas interpréter le contenu de ton champ (pourquoi le ferait-il ?) mais l'afficher tel quel c'est à dire ceci : ...$pseudo... en toutes lettres car pour lui ici c'est du texte !
Essai en remplaçant :
<td colspan="2"><div align="center">'.$data['codecampagne'].'</div></td>
par
<td colspan="2"><div align="center">'.str_replace("'.$"."pseudo.'" ,$pseudo,$data['codecampagne']).'</div></td>
Ca donne quoi ?
re bonsoir,
J ai reflechi et j ai peut etre trouve la solution...mais je sais pas trop comment faire..
Ca devrait aussi aller a peu pres ainsi non? Mais il faudrait effectuer la requete sql ¨+ sql2 en une seule requete mais je vois pas trop comment...
J ai reflechi et j ai peut etre trouve la solution...mais je sais pas trop comment faire..
$sql = "SELECT idcampagne, codecampagne, nomcampagne, nombrepoints FROM campagne"; $sql2= "SELECT idcampagne2 FROM confirmecampagne WHERE pseudo='$pseudo'; if idcampagne!=$sql2 la il faudrait mettre quelquechose?...Puis.... // on envoie la requête $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); // on fait une boucle qui va faire un tour pour chaque enregistrement while($data = mysql_fetch_array($req)) { echo '<table width="352" height="101" border="0"> <tr> <td width="137"><div align="center">Campagne id : '.$data['idcampagne'].'</div></td> <td width="199"><div align="center">Gains : '.$data['nombrepoints'].' points </div></td> </tr> <tr> <td colspan="2"><div align="center">'.$data['codecampagne'].'</div></td> </tr> <tr> <td colspan="2"><div align="center"><form action="confirmerinscription.php" method="post"> <input name="idcampagne" type="hidden" value="'.$data['idcampagne'].'"> <input name="nomcampagne" type="hidden" value="'.$data['nomcampagne'].'"> <input name="nombrepoints" type="hidden" value="'.$data['nombrepoints'].'"> <input name="pseudo" type="hidden" value="'.$_SESSION['pseudo'].'"> <input type="submit" class="fondblanc" value="Confirmer votre inscription"> </form> </div></td><br> </tr> </table>'; } // on ferme la connexion à mysql mysql_close(); ?>
Ca devrait aussi aller a peu pres ainsi non? Mais il faudrait effectuer la requete sql ¨+ sql2 en une seule requete mais je vois pas trop comment...
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
16 sept. 2007 à 09:28
16 sept. 2007 à 09:28
Bjr
Hum, le code de ta requête SQL est fausse !
Pour récupérer les compagnes auxquels un adhérent n'a pas encore souscrit essai ceci :
Attention le test du pseudo doit bien se fairer dans la clause "on" et pas dans la clause "where" !
Hum, le code de ta requête SQL est fausse !
Pour récupérer les compagnes auxquels un adhérent n'a pas encore souscrit essai ceci :
select * from campagne left join confirmecampagne on campagne.idcampagne = confirmecampagne.idcampagne2 and confirmecampagne.pseudo='$pseudo' where confirmecampagne.pseudo is null
Attention le test du pseudo doit bien se fairer dans la clause "on" et pas dans la clause "where" !
Bonjour "PhP'..
Meme en faisant comme tu le decris cela ne fonctionne toujours pas... :-( Il ya toujours encore une page blanche...
J'ai essaye de diverses manieres differentes mais rien a faire...
Meme en faisant comme tu le decris cela ne fonctionne toujours pas... :-( Il ya toujours encore une page blanche...
J'ai essaye de diverses manieres differentes mais rien a faire...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
16 sept. 2007 à 15:57
16 sept. 2007 à 15:57
Re
J'ai dit que ça fontionne lorsqu'on teste directement la requête dans MySQL ou PhpMyAdmin.
Mais avec ton code j'en sais rien ...
Tu es sûr que tu n'as pas une erreur PHP ?
Déjà la syntaxe $pseudo = .$_SESSION['pseudo']. c'est faux !
Ensuite es-tu bien sûr que ta session est valide ?
Fait un test en forçant la valeur du pseudo en dur.
Le code suivant fonctionne (modifie qd même les paramètres de connexion et le pseudo)
Nota : ce n'est qu'un test j'ai donc viré les sessions !
J'ai dit que ça fontionne lorsqu'on teste directement la requête dans MySQL ou PhpMyAdmin.
Mais avec ton code j'en sais rien ...
Tu es sûr que tu n'as pas une erreur PHP ?
Déjà la syntaxe $pseudo = .$_SESSION['pseudo']. c'est faux !
Ensuite es-tu bien sûr que ta session est valide ?
Fait un test en forçant la valeur du pseudo en dur.
Le code suivant fonctionne (modifie qd même les paramètres de connexion et le pseudo)
Nota : ce n'est qu'un test j'ai donc viré les sessions !
<html> <body> <?php $cfg_hostname="localhost"; // <-- Renseigne ici les paramètres pour ta propre base MySQL $cfg_username="root"; $cfg_password=""; $cfg_database="campagne"; $link=mysql_connect($cfg_hostname, $cfg_username, $cfg_password) or die("Can\'t connect to MySql server !"); $pseudo = "moi"; // <-- place ici un de tes pseudos ! // on crée la requete SQL $sql = "select * from "; $sql.= "campagne left join confirmecampagne "; $sql.= "on campagne.idcampagne = confirmecampagne.idcampagne2 "; $sql.= "and confirmecampagne.pseudo='".$pseudo."' "; $sql.= "where confirmecampagne.pseudo is null"; // on envoie la requête $req=mysql_db_query($cfg_database,$sql,$link); if (!$req) { echo "query = ".$sql."\n"; echo "mysql_errno = ".mysql_errno($link)."\n"; echo "mysql_error = ".mysql_error($link)."\n"; exit; } // on fait une boucle qui va faire un tour pour chaque enregistrement while($data = mysql_fetch_array($req)) { echo '<table width="352" height="101" border="0"> <tr> <td width="137"><div align="center">Campagne id : '.$data['idcampagne'].'</div></td> <td width="199"><div align="center">Gains : '.$data['nombrepoints'].' points </div></td> </tr> <tr> <td colspan="2"><div align="center">'.$data['codecampagne'].'</div></td> </tr> <tr> <td colspan="2"><div align="center"><form action="confirmerinscription.php" method="post"> <input name="idcampagne" type="hidden" value="'.$data['idcampagne'].'"> <input name="nomcampagne" type="hidden" value="'.$data['nomcampagne'].'"> <input name="nombrepoints" type="hidden" value="'.$data['nombrepoints'].'"> <input name="pseudo" type="hidden" value="'.$pseudo.'"> <input type="submit" class="fondblanc" value="Confirmer votre inscription"> </form> </div></td><br> </tr> </table>'; } // on ferme la connexion à mysql mysql_close(); ?> </body> </html>
Re,
J ai tout fait comme tu as indique, j ai modifier les donnees de connection et ai inserer un peudo que j utilise mais la page est toujours blanche, aucune erreur mysql..
Les sessions fontionnent car si j utilise l ancien code qui ne servait qu a afficher les campagnes, cela fonctionne sans probleme.
L ancien code etait:
J ai tout fait comme tu as indique, j ai modifier les donnees de connection et ai inserer un peudo que j utilise mais la page est toujours blanche, aucune erreur mysql..
Les sessions fontionnent car si j utilise l ancien code qui ne servait qu a afficher les campagnes, cela fonctionne sans probleme.
L ancien code etait:
<?php include ('dbconnect.php'); // on crée la requete SQL $sql = "SELECT idcampagne, codecampagne, nomcampagne, nombrepoints FROM campagne"; // on envoie la requête $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); // on fait une boucle qui va faire un tour pour chaque enregistrement while($data = mysql_fetch_array($req)) { echo '<table width="352" height="101" border="0"> <tr> <td width="137"><div align="center">Campagne id : '.$data['idcampagne'].'</div></td> <td width="199"><div align="center">Gains : '.$data['nombrepoints'].' points </div></td> </tr> <tr> <td colspan="2"><div align="center">'.$data['codecampagne'].'</div></td> </tr> <tr> <td colspan="2"><div align="center"><form action="confirmerinscription.php" method="post"> <input name="idcampagne" type="hidden" value="'.$data['idcampagne'].'"> <input name="nomcampagne" type="hidden" value="'.$data['nomcampagne'].'"> <input name="nombrepoints" type="hidden" value="'.$data['nombrepoints'].'"> <input name="pseudo" type="hidden" value="'.$_SESSION['pseudo'].'"> <input type="submit" class="fondblanc" value="Confirmer votre inscription"> </form> </div></td><br> </tr> </table>'; } // on ferme la connexion à mysql mysql_close(); ?>
Arf, j ai vidé mon cache et en effet cela fonctionne avec ton code...
J ai un peu modifier en ajoutant a nouveau les sessions et cela fonctionne...
Par contre les données que je récupérai avec le formulaire ne sont pas recuperees apparemment...c'est a dire codecampagne, nombrepoints et nomcampagne...?!
Voivi le nouveau code :
J ai un peu modifier en ajoutant a nouveau les sessions et cela fonctionne...
Par contre les données que je récupérai avec le formulaire ne sont pas recuperees apparemment...c'est a dire codecampagne, nombrepoints et nomcampagne...?!
Voivi le nouveau code :
<?php include ('dbconnect.php'); $pseudo = $_SESSION['pseudo']; // <-- place ici un de tes pseudos ! // on crée la requete SQL $sql = "select * from "; $sql.= "campagne left join confirmecampagne "; $sql.= "on campagne.idcampagne = confirmecampagne.idcampagne2 "; $sql.= "and confirmecampagne.pseudo='".$pseudo."' "; $sql.= "where confirmecampagne.pseudo is null"; // on envoie la requête $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); if (!$req) { echo "query = ".$sql."\n"; echo "mysql_errno = ".mysql_errno($link)."\n"; echo "mysql_error = ".mysql_error($link)."\n"; exit; } // on fait une boucle qui va faire un tour pour chaque enregistrement while($data = mysql_fetch_array($req)) { echo '<table width="352" height="101" border="0"> <tr> <td width="137"><div align="center">Campagne id : '.$data['idcampagne'].'</div></td> <td width="199"><div align="center">Gains : '.$data['nombrepoints'].' points </div></td> </tr> <tr> <td colspan="2"><div align="center">'.$data['codecampagne'].'</div></td> </tr> <tr> <td colspan="2"><div align="center"><form action="confirmerinscription.php" method="post"> <input name="idcampagne" type="hidden" value="'.$data['idcampagne'].'"> <input name="nomcampagne" type="hidden" value="'.$data['nomcampagne'].'"> <input name="nombrepoints" type="hidden" value="'.$data['nombrepoints'].'"> <input name="pseudo" type="hidden" value="'.$pseudo.'"> <input type="submit" class="fondblanc" value="Confirmer votre inscription"> </form> </div></td><br> </tr> </table>'; } // on ferme la connexion à mysql mysql_close(); ?>
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
16 sept. 2007 à 17:20
16 sept. 2007 à 17:20
Ha oui le cache c'est vrai faut y penser ! Lol
Par contre les données que je récupérai avec le formulaire ne sont pas recuperees apparemment
Apparemment ces chamsp cachés sont initialisés avec des valeurs qui proviennent de ta base de données non ?
Nulle part tu n'utilises $_POST['idcampagne'] par ex
Par contre les données que je récupérai avec le formulaire ne sont pas recuperees apparemment
Apparemment ces chamsp cachés sont initialisés avec des valeurs qui proviennent de ta base de données non ?
Nulle part tu n'utilises $_POST['idcampagne'] par ex
oui je n'utilise cela nulle part car avec le code d 'avant cela fonctionnait tout de meme.. D'ailleurs je viens de regarder de plus pres et en fait, il transmet certaines données, notemment le pseudo et l idcampagne... par contre pas le nombrepoints ni le nomcampagne... La variable "nombrepoints" ne s affiche meme plus sur la page alors qu avant cela s affichait...
Alors que l idcampagne et codecampagne s affichent...
Je ne comprends pas trop vu qu on recupere toutes les données de la table "campagne" avec ton code.. non?!
<td width="199"><div align="center">Gains : '.$data['nombrepoints'].' points </div></td>
Alors que l idcampagne et codecampagne s affichent...
Je ne comprends pas trop vu qu on recupere toutes les données de la table "campagne" avec ton code.. non?!
En fait j ai trouvé! Cela est du a la jointure ! J avais en fait dans la table campagne les champs "nomcampagne" et nombrepoints" et dans la table "confirmecampagne" j avais 2 tables avec les memes nom...J ai donc simplement modifié les noms dans la 2eme table et c etait bon.
En tout cas un grand merci a toi PhP !
Juste une derniere petite question...voila si maintenant il n y a plus aucunes campagne a affiché car le membre aurait deja soucrite a toutes les campagnes disponibles, je voudrais afficher un message...
J'ai tente ma chance avec else...en faisant a la fin du formulaire mais j ai une erreur car il m affiche page blanche... :-/ :
En tout cas un grand merci a toi PhP !
Juste une derniere petite question...voila si maintenant il n y a plus aucunes campagne a affiché car le membre aurait deja soucrite a toutes les campagnes disponibles, je voudrais afficher un message...
echo"<font color=red size=3><u><b>ERREUR :</b></u><br></font><b>Vous avez déjà souscrit à toutes les campagnes disponibles actuellement !</b>";
J'ai tente ma chance avec else...en faisant a la fin du formulaire mais j ai une erreur car il m affiche page blanche... :-/ :
<tr> <td colspan="2"><div align="center"><form action="confirmerinscription.php" method="post"> <input name="idcampagne" type="hidden" value="'.$data['idcampagne'].'"> <input name="nomcampagne" type="hidden" value="'.$data['nomcampagne'].'"> <input name="nombrepoints" type="hidden" value="'.$data['nombrepoints'].'"> <input name="pseudo" type="hidden" value="'.$pseudo.'"> <input type="submit" class="fondblanc" value="Confirmer votre inscription"> </form> </div></td><br> </tr> </table>'; } else echo"<font color=red size=3><u><b>ERREUR :</b></u><br></font><b>Vous avez déjà souscrit à toutes les campagnes disponibles actuellement ! // on ferme la connexion à mysql mysql_close(); ?> </b>";
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
16 sept. 2007 à 19:57
16 sept. 2007 à 19:57
Ben tu vois tout à une explication :-)
Pour le message je sais pas trop ce que tu as écris mais le plus simple est de testé le nombre de lignes retournées par ta requête SQL.
PHP te fournit une fonction toute faite pour ça : que demande le peuple ? lol
La fonction s'appelle mysql_num_rows
PS : à ta place j'utiliserais les feuilles de styles plutôt que d'utiliser les balises <b> et <u> obsolètes et de mettre en dur <font color ...>
Pour le message je sais pas trop ce que tu as écris mais le plus simple est de testé le nombre de lignes retournées par ta requête SQL.
PHP te fournit une fonction toute faite pour ça : que demande le peuple ? lol
La fonction s'appelle mysql_num_rows
<?php include ('dbconnect.php'); $pseudo = $_SESSION['pseudo']; // <-- place ici un de tes pseudos ! // on crée la requete SQL $sql = "select * from "; $sql.= "campagne left join confirmecampagne "; $sql.= "on campagne.idcampagne = confirmecampagne.idcampagne2 "; $sql.= "and confirmecampagne.pseudo='".$pseudo."' "; $sql.= "where confirmecampagne.pseudo is null"; // on envoie la requête $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); if (!$req) { echo "query = ".$sql."\n"; echo "mysql_errno = ".mysql_errno($link)."\n"; echo "mysql_error = ".mysql_error($link)."\n"; exit; } if (mysql_num_rows($req) > 0) { // on fait une boucle qui va faire un tour pour chaque enregistrement while($data = mysql_fetch_array($req)) { echo '<table width="352" height="101" border="0"> <tr> <td width="137"><div align="center">Campagne id : '.$data['idcampagne'].'</div></td> <td width="199"><div align="center">Gains : '.$data['nombrepoints'].' points </div></td> </tr> <tr> <td colspan="2"><div align="center">'.$data['codecampagne'].'</div></td> </tr> <tr> <td colspan="2"><div align="center"><form action="confirmerinscription.php" method="post"> <input name="idcampagne" type="hidden" value="'.$data['idcampagne'].'"> <input name="nomcampagne" type="hidden" value="'.$data['nomcampagne'].'"> <input name="nombrepoints" type="hidden" value="'.$data['nombrepoints'].'"> <input name="pseudo" type="hidden" value="'.$pseudo.'"> <input type="submit" class="fondblanc" value="Confirmer votre inscription"> </form> </div></td><br> </tr> </table>'; } } else { echo "<font color=red size=3><u><b>ERREUR :</b></u><br></font><b>Vous avez déjà souscrit à toutes les campagnes disponibles actuellement !</b>"; } // on ferme la connexion à mysql mysql_close(); ?>
PS : à ta place j'utiliserais les feuilles de styles plutôt que d'utiliser les balises <b> et <u> obsolètes et de mettre en dur <font color ...>
oki merci beaucoup pour tes conseils et ton aide !
J'ai juste une derniere toute petite question qui concerne les bases mysql...
En fait pour afficher les campagnes, elles sont stocké dans la base de données campagne. J utilise la regie tradedoubler qui permet de tracker les utilisateur car on peut inserer une variable dans leurs liens.
Lorsque je colle le code directement dans ma page payinscription.php, il y a bien le pseudo qui est remplace par la variable a la fin du lien :
Par contre des que j essaye de mettre a jour le code dans mysql avec la la fin &epi='.$pseudo.'" ca me marque
Je ne peux pas inserer la variable a la fin avec mysql??
J'ai juste une derniere toute petite question qui concerne les bases mysql...
En fait pour afficher les campagnes, elles sont stocké dans la base de données campagne. J utilise la regie tradedoubler qui permet de tracker les utilisateur car on peut inserer une variable dans leurs liens.
Lorsque je colle le code directement dans ma page payinscription.php, il y a bien le pseudo qui est remplace par la variable a la fin du lien :
<a href="http://clk.tradedoubler.com/click?p=49728&a=1410783&g=16384964&epi=%27%27$pseudo.'"" target="_blank"><img src="http://impfr.tradedoubler.com/imp?type(img)g(16384964)a(1410783" border=0></a>
Par contre des que j essaye de mettre a jour le code dans mysql avec la la fin &epi='.$pseudo.'" ca me marque
MySQL a répondu:Documentation #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.$pseudo.'"" target="_blank"><img src="http://impfr.tradedoubler.com/imp?type(im' at line 1
Je ne peux pas inserer la variable a la fin avec mysql??
Bonjour,
j ai un peu cherché et si j ai bien compris l erreur SQL provient des guillemets ' ' ... J ai donc ajouté des addslashes epi=\'.$pseudo.\' ...J ai tenté ma chance avec les points, sans les points, avec les sessions, mais rien a y faire, le pseudo n est pas récupéré !ca me met epi= et cela reste vierge...
Pourtant c est bien dans la meme page :
Il s agit ici du '.$data['codecampagne'].' qui se charge de recuperer la campagne dans la base et de l afficher... Je ne vois pas pourquoi la variable pseudo n est pas récupéré?! ... Juste en dessous cela recupere bien la variable...
j ai un peu cherché et si j ai bien compris l erreur SQL provient des guillemets ' ' ... J ai donc ajouté des addslashes epi=\'.$pseudo.\' ...J ai tenté ma chance avec les points, sans les points, avec les sessions, mais rien a y faire, le pseudo n est pas récupéré !ca me met epi= et cela reste vierge...
Pourtant c est bien dans la meme page :
echo '<table width="352" height="101" border="0"> <tr> <td width="137"><div align="center">Campagne id : '.$data['idcampagne'].'</div></td> <td width="199"><div align="center">Gains : '.$data['nombrepoints'].' points </div></td> </tr> <tr> <td colspan="2"><div align="center">'.$data['codecampagne'].'</div></td> </tr>
Il s agit ici du '.$data['codecampagne'].' qui se charge de recuperer la campagne dans la base et de l afficher... Je ne vois pas pourquoi la variable pseudo n est pas récupéré?! ... Juste en dessous cela recupere bien la variable...
Je precise que si je n utilise pas la requete en sql...cela fonctionne...j ai fait un copier coller du code
juste en dessous du formulaire et la ca affiche la pub avec a la fin le pseudo de la personne...mais par contre la pub qui s affiche a partir du meme code recuperé dans la base de données, n affiche pas le pseudo...
<a href="http://clk.tradedoubler.com/click?p=49728&a=1410783&g=16384964&epi=%27%27$pseudo.'"" target="_blank"><img src="http://impfr.tradedoubler.com/imp?type(img)g(16384964)a(1410783" border=0></a>
juste en dessous du formulaire et la ca affiche la pub avec a la fin le pseudo de la personne...mais par contre la pub qui s affiche a partir du meme code recuperé dans la base de données, n affiche pas le pseudo...
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
17 sept. 2007 à 20:08
17 sept. 2007 à 20:08
Bsr
Je ne comprends pas très bien ! Elle contient quoi exactement ta requête SQL ?
As-tu essayé de faire un "echo $sql;" en PHP pour voir avant le mysql_query ?
Je ne comprends pas très bien ! Elle contient quoi exactement ta requête SQL ?
As-tu essayé de faire un "echo $sql;" en PHP pour voir avant le mysql_query ?
Bonsoir,
Alors en fait, j'insere des publicites a travers une interface dans l espace admin...que voici:
ajoutcamapagne.php:
ajoutcampagne2.php :
J'insere directement dans le formulaire par le biais d un copier coller, le code proposé par les regies...
Exemple:
Apres le &epi= on peut inserer la variable de son choix...qui sera ensuite visible dans les stats sur la regie en question...c'est donc pratique pour tracker les inscriptions de utilisateurs.
Le soucis c est que la pub s affiche correctement...mais je n arrive pas a faire en sorte que la variable pseudo soit pris en compte dans le lien... J'ai fait &epi='.$pseudo.' (et j ai essaye de plusieurs facons differentes)..mais rien a y faire...cela me fait &epi= (donc vierge)...
Par contre si je fais un copier coller du code directement sur la page cela m'affiche bel et bien le pseudo du membre apres &epi...
La page entierere concerne par l affichage des bannieres est presente dans cette discution au numero 10...Voici le bout de code directement concerne :
C'est le code suivant qui se charge d afficher la banniere avec le code recupere dans la base...
Par contre si je fais donc un copier coller direct sur la page cela fonctionne...
Voila donc je ne comprends pas pourquoi en utilisant le meme code, cela ne fonctionne pas a partir de la base de données...?!
Alors en fait, j'insere des publicites a travers une interface dans l espace admin...que voici:
ajoutcamapagne.php:
<form name="regform" method="post" action="ajoutcampagne2.php"> <table width="73%" border="0" cellspacing="3" cellpadding="3"> <tr valign="top"> <td class=bord1><table width=92% height="296" border=0 align="center" cellpadding="2" cellspacing="0"> <tr> <td width="245">Nom de la campagne :</td> <td width="242"><input name="nomcampagne" type="text" class="fondblanc"> </td> </tr> <tr> <td width="245">Régie proposant la campagne :</td> <td width="242"><input name="regiecampagne" type="text" class="fondblanc"> </td> </tr> <tr> <td width="245">Type de campagne :</td> <td width="242"><select name="typesupport"> <option>Lien</option> <option>Banniere</option> </select> </td> </tr> <tr> <td width="245" height="126">Code :</td> <td width="242"><br> <label> <textarea name="codecampagne" cols="40" rows="6" class="fondblanc"> </label></td> </tr> <tr> <td>Date de début de la campagne :</td> <td valign="top"><input name=datedebutcampagne class="fondblanc"></td> </tr> <tr> <td width="245">Date de la fin de la campagne :</td> <td width="242" valign="top"><input name=datefincampagne class="fondblanc"></td> </tr> <tr> <td width="245">Cette inscription vaudra :</td> <td width="242" valign="top"><input name=nombrepoints class="fondblanc"> points ! </td> </tr> </table> </td> </tr> <tr valign="top"> <td class=bord1> <div align="center"> <input name="submit" type="submit" class="fondblanc" value="Ajouter la campagne"> </div> </td> </tr> </table> </form>
ajoutcampagne2.php :
<?php include ('dbconnect.php'); $sql=mysql_query("INSERT INTO campagne (nomcampagne, regiecampagne, codecampagne, typesupport, datedebutcampagne, datefincampagne, nombrepoints) VALUES ('$nomcampagne', '$regiecampagne', '$codecampagne', '$typesupport', '$datedebutcampagne', '$datefincampagne', '$nombrepoints')") or die('Impossible d insérer les données dans la base'.mysql_error()); $sq=mysql_query("SELECT * FROM campagne WHERE nomcampagne='$nomcampagne'") or die(mysql_error()); $arr=mysql_fetch_array($sq); extract($arr); if(mysql_affected_rows) echo "<center><P><P><P><b>Ajout de la campagne $nomcampagne effectuée avec succès !</b><p></center>"; ?>
J'insere directement dans le formulaire par le biais d un copier coller, le code proposé par les regies...
Exemple:
<a href="http://clk.tradedoubler.com/click?p=49728&a=1410783&g=16384964&epi=%27%27$pseudo.'"" target="_blank"><img src="http://impfr.tradedoubler.com/imp?type(img)g(16384964)a(1410783" border=0></a>
Apres le &epi= on peut inserer la variable de son choix...qui sera ensuite visible dans les stats sur la regie en question...c'est donc pratique pour tracker les inscriptions de utilisateurs.
Le soucis c est que la pub s affiche correctement...mais je n arrive pas a faire en sorte que la variable pseudo soit pris en compte dans le lien... J'ai fait &epi='.$pseudo.' (et j ai essaye de plusieurs facons differentes)..mais rien a y faire...cela me fait &epi= (donc vierge)...
Par contre si je fais un copier coller du code directement sur la page cela m'affiche bel et bien le pseudo du membre apres &epi...
La page entierere concerne par l affichage des bannieres est presente dans cette discution au numero 10...Voici le bout de code directement concerne :
echo '<table width="352" height="101" border="0"> <tr> <td width="137"><div align="center">Campagne id : '.$data['idcampagne'].'</div></td> <td width="199"><div align="center">Gains : '.$data['nombrepoints'].' points </div></td> </tr> <tr> <td colspan="2"><div align="center">'.$data['codecampagne'].'</div></td> </tr> <tr> <td colspan="2"><div align="center"><form action="confirmerinscription.php" method="post"> <input name="idcampagne" type="hidden" value="'.$data['idcampagne'].'"> <input name="nomcampagne" type="hidden" value="'.$data['nomcampagne'].'"> <input name="nombrepoints" type="hidden" value="'.$data['nombrepoints'].'"> <input name="pseudo" type="hidden" value="'.$pseudo.'"> <input type="submit" class="fondblanc" value="Confirmer votre inscription"> </form> </div></td><br> </tr> </table>'; } }
C'est le code suivant qui se charge d afficher la banniere avec le code recupere dans la base...
<td colspan="2"><div align="center">'.$data['codecampagne'].'</div></td>
Par contre si je fais donc un copier coller direct sur la page cela fonctionne...
<td colspan="2"><div align="center"><form action="confirmerinscription.php" method="post"> <input name="idcampagne" type="hidden" value="'.$data['idcampagne'].'"> <input name="nomcampagne" type="hidden" value="'.$data['nomcampagne'].'"> <input name="nombrepoints" type="hidden" value="'.$data['nombrepoints'].'"> <input name="pseudo" type="hidden" value="'.$pseudo.'"> <input type="submit" class="fondblanc" value="Confirmer votre inscription"> </form> </div></td><br> <a href="http://clk.tradedoubler.com/click?p=49728&a=1410783&g=16384964&epi=%27%27$pseudo.'" target="_blank"><img src="http://impfr.tradedoubler.com/imp?type(img)g(16384964)a(1410783" border=0></a> </tr> </table>'; }
Voila donc je ne comprends pas pourquoi en utilisant le meme code, cela ne fonctionne pas a partir de la base de données...?!
Bonjour PhP,
j ai essaye comme tu es proposé mais cela ne fonctionne pas non plus...:-(
Merci tout de même..
j ai essaye comme tu es proposé mais cela ne fonctionne pas non plus...:-(
Merci tout de même..
pitxu
Messages postés
689
Date d'inscription
vendredi 7 septembre 2007
Statut
Membre
Dernière intervention
25 mars 2015
94
18 sept. 2007 à 10:02
18 sept. 2007 à 10:02
Bonjour,
tu as des mélanges de simple quote et double quotes, essaie ça :
<?
echo "
<table width=352 height=101 border=0>
<tr>
<td width=137><div align=center>Campagne id : ".$data['idcampagne']."</div></td>
<td width=199><div align="center">Gains : ".$data['nombrepoints']." points </div></td>
</tr>
<tr>
<td colspan=2><div align=center>".$data['codecampagne']."</div></td>
</tr>
<tr>
<td colspan=2><div align=center><form action=\"confirmerinscription.php\" method=post>
<input name=\"idcampagne\" type=hidden value=".$data['idcampagne'].">
<input name=\"nomcampagne\" type=hidden value=".$data['nomcampagne'].">
<input name=\"nombrepoints\" type=hidden value=".$data['nombrepoints'].">
<input name=\"pseudo\" type=hidden value=".$pseudo.">
<input type=submit class=\"fondblanc\" value=\"Confirmer votre inscription\">
</form>
</div></td><br>
</tr>
</table>";
?>
tu as des mélanges de simple quote et double quotes, essaie ça :
<?
echo "
<table width=352 height=101 border=0>
<tr>
<td width=137><div align=center>Campagne id : ".$data['idcampagne']."</div></td>
<td width=199><div align="center">Gains : ".$data['nombrepoints']." points </div></td>
</tr>
<tr>
<td colspan=2><div align=center>".$data['codecampagne']."</div></td>
</tr>
<tr>
<td colspan=2><div align=center><form action=\"confirmerinscription.php\" method=post>
<input name=\"idcampagne\" type=hidden value=".$data['idcampagne'].">
<input name=\"nomcampagne\" type=hidden value=".$data['nomcampagne'].">
<input name=\"nombrepoints\" type=hidden value=".$data['nombrepoints'].">
<input name=\"pseudo\" type=hidden value=".$pseudo.">
<input type=submit class=\"fondblanc\" value=\"Confirmer votre inscription\">
</form>
</div></td><br>
</tr>
</table>";
?>
re,
On ma mis sur une piste dans un autre forum en me disant que mon probleme, c'est que le $pseudo est interprété comme chaine de caractere et pas comme variable... et que je peux resoudre le probleme avec la fonction eval()
J'ai donc fait comme suit mais cela ne fonctionne pas non plus mais je dois avoir une erreur?!
Et maintenant avant toutes les pub ca me marque
J avais rajouter des guillements mais cela n avais rien arrange... :(
On ma mis sur une piste dans un autre forum en me disant que mon probleme, c'est que le $pseudo est interprété comme chaine de caractere et pas comme variable... et que je peux resoudre le probleme avec la fonction eval()
J'ai donc fait comme suit mais cela ne fonctionne pas non plus mais je dois avoir une erreur?!
<? echo '<table width="352" height="101" border="0"> <tr> <td width="137"><div align="center">Campagne id : '.$data['idcampagne'].'</div></td> </tr> <tr> <td colspan="2"><div align="center">eval("return '.$data['codecampagne'].'")</div></td> // <=partie affichant la pub avec le code present dans la base de données... </tr><br> // code ajoute ci dessous directement sur la page...et cela fonctionne... <a href="http://clk.tradedoubler.com/click?p=49728&a=1410783&g=16384964&epi=%27%27$pseudo.'" target="_blank"><img src="http://impfr.tradedoubler.com/imp?type(img)g(16384964)a(1410783" border=0></a> </table>'; } ?>
Et maintenant avant toutes les pub ca me marque
eval("returnet apres la pub
;")
J avais rajouter des guillements mais cela n avais rien arrange... :(