Base de donnée et fonction str_replace

Résolu/Fermé
Petitcalimero Messages postés 10 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 19 décembre 2008 - 30 nov. 2008 à 21:29
Petitcalimero Messages postés 10 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 19 décembre 2008 - 19 déc. 2008 à 21:41
Bonsoir,

Je suis entrain de créer un site sous Joomla. J’utilise la plateforme publicitaire TradeDoubler.

J’aimerais remplacer une variable dans le script. Si j’ai bien compris, après plusieurs recherches sur différents forums, je dois utiliser la fonction str_replace. Hors, je n’arrive pas.

Es-ce que quelqu’un aurait la solution ?

J’ai créé une table :

PARTENAIRE
  idpartenaire	int(10)		// no du partenaire
  nompartenaire	varchar(40)		// nom du partenaire
  codepartenaire	text		// code sous forme de script


En utilisant le code php suivant :

<?php $pseudo = $_SESSION["__default"]["user"] ;
echo $pseudo->username;?>


j’obtiens le pseudo de l’utilisateur connecté. Cela fonctionne, j’arrive à l’afficher.

Ensuite, j’aimerais inclure ce pseudo dans le script que je récupère de ma base de donnée et le remplacer à la variable epi=$pseudo du script si dessous :

SCRIPT DANS MA BASE:
<script type="text/javascript"> 
var uri = 'http://impch.tradedoubler.com/imp?type(img)g(xxxxxxxx)a(xxxxxxx)' + new String (Math.random()).substring (2, 11); 
document.write('<a href="http://clk.tradedoubler.com/click?p=xxxxx&a=xxxxxxx&g=xxxxxxxx&epi=$pseudo" target="_BLANK"><img src="'+uri+'" border=0></a>'); 
</script>


POUR L'AFFICHAGE:
<?php $sql = 'SELECT codepartenaire FROM partenaire WHERE nompartenaire = "dell"'; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  $data = mysql_fetch_array($req);  mysql_free_result ($req);  mysql_close ();?><?php echo $data['codepartenaire'];?>


Comment utiliser la fonction str_replace ?
Enfin es-ce la bonne fonction à utiliser ?

Bonne soirée

David

7 réponses

arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
30 nov. 2008 à 22:29
Je pense qu'un truc de ce style devrai marcher.

epi='.$pseudo.'


ça devrai fonctionner.
0
Petitcalimero Messages postés 10 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 19 décembre 2008
1 déc. 2008 à 13:17
Et comment foncionne exactement la fonction str_replace?

Donc il faudrait que j'essai avec le
epi='.$pseudo.' 
dans ma base de donnée?
0
Archeus01 Messages postés 1571 Date d'inscription mercredi 3 octobre 2007 Statut Membre Dernière intervention 9 juin 2022 449
1 déc. 2008 à 14:06
Pour avoir des infos sur une fonction php tu tapes php.net/nom_de_la_fonction dans kla barre d'adresse donc dans ton cas:
https://www.php.net/str_replace

D'après moi mais je ne suis pas sûr à 100%, la solution donné ne va pas marcher. Tu dois créer une fonction en java script ou tu as le pseudo en paramètre et la tu pourras tranquillement en faire ce que tu veux dans ta fonction JS.
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475 > Archeus01 Messages postés 1571 Date d'inscription mercredi 3 octobre 2007 Statut Membre Dernière intervention 9 juin 2022
1 déc. 2008 à 16:50
Ben a priori, s'il met son code javascript dans un echo''; la variable sera automatiquement remplacé.
0
Petitcalimero Messages postés 10 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 19 décembre 2008
1 déc. 2008 à 18:32
Je suis un peu perdu je dois dire. Es-ce que tu pourrais me donner un début de code java script avec le echo?
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
1 déc. 2008 à 18:52
Ben faut que tu mette ton code au milieu d'un

<?php

echo ' ';
?>

En mettant epi='.$pseudo.'
Normalement, si la variable est récupérer avant, ça devrai fonctionner.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Petitcalimero Messages postés 10 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 19 décembre 2008
2 déc. 2008 à 15:10
Pfff, suis vraiment nul... cela fait un moment que j'essai !!

Es-ce que tu aurais pas la solution avec les infos que tu as?

Comment mettre les variables dans le str_replace?
0
Petitcalimero Messages postés 10 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 19 décembre 2008
15 déc. 2008 à 21:32
Il y a personne qui aurait un petit indice ?? Je sèche vraiment la dessus !!
0
Archeus01 Messages postés 1571 Date d'inscription mercredi 3 octobre 2007 Statut Membre Dernière intervention 9 juin 2022 449
19 déc. 2008 à 11:45
mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] ) extrait de
http://fr3.php.net/
0
Petitcalimero Messages postés 10 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 19 décembre 2008
19 déc. 2008 à 21:41
Bonsoir,

Alors j'ai eu la réponse sur un autre forum. J'en fait donc part ici et je mets la discussion en "résolu".

Merci de m'avoir aidé.

Voici le code qu'il fallait mettre:

<?php $username = $pseudo->username; ?>
<?php $sql = 'SELECT codepartenaire FROM partenaire WHERE nompartenaire = "dell"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
mysql_free_result ($req);
mysql_close ();
?>
<?php echo str_replace('$pseudo', $username, $data['codepartenaire']);?>
0