8791 sujets

Développement web côté serveur, CMS

BonjoOur,
J'ai un souci Smiley lol (oui, je serais pas là sinon) :x

Tout d'abord, je tiens a m'excuser si ce post est mal placé, il mélange php et JS,

Donc, je vais essayer de faire rapide..
J'ai des liens standards
<a href=""...>...</a>
et je veux appeler une fonction php à laquelle je passe un argument quand je clique sur le lien ...

Pour les détails, je suis pas webmaster, je suis qu'un p'ti bricoleur. Mon site est composé de "modules" que j'ai fait (en explosant ce forum d'ailleurs Smiley langue ) ou modifier dont chacun change en interpretant des variables qui sont passées dans l'url.
Jusque là, j'y arrivais à peu près sauf que je suis entrain de revoir la gestion de mes liens..

Et donc je voudrais une info pour executer du php dans un lien normal. J'me suis renseigné sur la propriété
<a href="" onclick="">...</a>


Pour le moment, j'en suis là :
Je définit un lien vers mon script js dans les balises <head></head>
<script type="text/javascript" src="./JS/link.js"></script>

Par contre, voici comment je définit mon lien, je pense que déjà là, ça va pas .. Smiley confus
<a href="#" onclick="link">test</a>

Et pour finir, je bloque sur l'écriture du JS, pour y intégrer du php :

     function link() {
     <?
	$page = $_GET['page'];
	if (isset($page))
	     echo ($page.'<br/>');
	else echo ('pas de valeur dans la variable $page <br/>');
     ?>
     }
     

Ouais, là, ça craint Smiley biggol

PLEAAASSEEE HEEELLLPPP (Cf. Milla Jovovich dans le 5ème élément :x)
bon ben déjà l'information de base c'est on ecrit jamais du php dans le javascript. on fait l'inverse a savoir ecrire le javascript a l'aide du php.

<?php echo "<script>"; ......


ensuite qu'est tu en train de bricoler? tu ne te complique pas un peu la vie?
on peut trés bien faire ça uniquement en php.
Modifié par CPascal (11 Jan 2008 - 23:19)
Bonsoir,

Oula, mais ta réponde m'intéresse beaucoup CPascal ^^
Si tu as un exemple a me donné !? Smiley smile

Merci d'avance Smiley langue
Re,

ben moi j'imagine la solution toute bete.

<a href="<?php echo $_GET['page'] ; ?>" >
<?php echo $_GET['page'] ;
 ?>
</a>


eventuellement tu ne passe pas l'extension mais tu l'as mets apres. je sais pas si c'est nécessaire mais j'ai observé que les gens qui utilises des pseudo frame font souvent ainsi

pourquoi utiliser js? ça m'echappe.
Modifié par CPascal (12 Jan 2008 - 17:10)
D'autant plus qu'on ne peut pas, absolument pas, écrire du PHP via Javascript! Javascript est interprété par le navigateur. PHP est interprété en amont, par le serveur. Le code PHP généré via Javascript sera présent uniquement côté client (navigateur) et ne pourra certainement pas être exécuté par le serveur.

Il arrive qu'on utilise Javascript pour faire exécuter des scripts côté serveur, et récupérer des données. Ça s'appelle Ajax. Mais le script PHP (ou autre) doit déjà être présent côté serveur.

Pour le reste, je n'ai pas lu le détail de ce que tu voulais faire, mais si CPascal dit que ça peut se faire uniquement côté serveur en PHP, j'aurais tendance à lui faire confiance. Smiley cligne
Okayy les gars :x pas de php dans javascript Smiley langue

Par contre, j'arrive pas a m'en sortir avec ta soluce CPascal !?

En fait, ce que je cherche à faire : 'je veux donner une valeur à une variable donc là, pas de problème pour le
<a href="<?php $page = valeur; ?>">lien</a>
mais après, j'ai besoin d'éxecuter toute une fonction de test sur mon url actuelle de façon à ce que si ma variable existe dedans, je remplace la valeur au lieu de concaténer 36 fois la même variable dans mon url' + 'récupérer les autres variables qu'il peut y avoir selon ce qui affiché' ! Smiley rolleyes

Merci quand même pour vos débuts de réponse .. Smiley smile
Modifié par tcyrill2 (13 Jan 2008 - 04:32)
lut,

a écrit :
En fait, ce que je cherche à faire : 'je veux donner une valeur à une variable donc là, pas de problème pour le <a href="<?php $page = valeur; ?>">lien</a>


hou la la tu as testé pour voir? bien sur que ça ne marche pas çà. ca te donneras un lien qui pointe dans le vide. voir et comprendre mon exemple precedent.

tu veux donner une valeur a une variable? ben tu sais c'est un truc assez habituel ça qui se passe n'importe où dans le code et pas forcément dans l'ecriture du lien.

a écrit :
mais après, j'ai besoin d'éxecuter toute une fonction de test sur mon url actuelle de façon à ce que si ma variable existe dedans, je remplace la valeur au lieu de concaténer 36 fois la même variable dans mon url' + 'récupérer les autres variables qu'il peut y avoir selon ce qui affiché' !


hein ai-je parlé ou florent de concaténer 36 fois quelque chose?

jusqu'ici moi ce que j'ai compris c'est que ta variable s'appelant page et ayant a faire avec le href devait contenir l'url ou au moins un morceau de l'url final.

dans un tel cas ben ça me parait evident que l'url final risque de la contenir. ensuite la page qui a cette url ben elle peut faire tout ce qu'elle veut de la variable puisque la variable est dans son nom même.
on peut l'avoir par $_SERVER['SCRIPT_FILENAME']

je pense que la premiere etape pour toi comme pour nous. c'est que tu arrives a bien expliquer ce que tu desires faire. si ça se trouve dès que tu y arriveras tu trouveras toi-même la réponse.

une fonction pour analyser la presence de quelquechose dans une chaine c'est la fonction preg_match. fonction tres puissante mais dont le fonctionnement est trés difficile a comprendre je te previens.
enfin dans le cas simple ou tu cherche un élément fixe disons 'toto'
dans un chaine $url.

ca va faire

if ( preg_match('/toto/',$url) ) echo "l'url contient toto";


et pour remplacer il y a preg_replace


si tu as d'autre variables a envoyer et ben la solution la plus simple (il y en a bien d'autre mais je vais eviter d'embrouiller encore plus les choses ) c'est d'envoyé toute celles qu'il faut dans l'url.

<a href="<?php [b]echo[/b] $_GET['page']."?param1=".
$_GET['param1']."&param2=".$_GET['param2'].... ?>"  >
lien </a>

Modifié par CPascal (13 Jan 2008 - 10:47)
Merci beacoup pour tes réponses CPascal ..

J'y vois en effet plus clair. Smiley cligne

A première vue, je pense utiliser la méthode avec preg_match/preg_replace ... je vais creuser dans cette direction Smiley smile

Si toutefois je rencontrais d'autres problèmes (c'est pas exclu :x), je donnerais plus de détail sur la gestion de mon site (certes pas optimisée, mais comme je l'ai dit, je suis pas wabmaster, je suis qu'un bricoleur :x)

Merci encore Smiley smile