Page 1 sur 1

Php <--> javascript

Posté : 09 juin 2021, 16:54
par Jefekoi
Bonjour,

Je n'arrive pas à résoudre un petit problème pour vous mais un gros pour moi.

J'ai un programme php (formulaire)

Je copie le contenu d'un textarea via un script :
function copierTexte() {
var copyText = document.getElementById("urlimages");
copyText.select();
copyText.setSelectionRange(0, 99999)
document.execCommand("copy");
$("#msg").html('<div class="alert alert-success">Lien(s) copié(s) avec succés.</div>');
setTimeout(function(){window.location.href="index.php"},800);
}
</script>
<button onClick="copierTexte()">Copier le(s) lien(s) </button>

Seulement je voudrais intégrer la suppression d'un ou de plusieurs fichiers en php via le même boutton .

Comment puis-je faire ?

Je sais que l'on ne peut pas appeler du php (function) dans du javascript

Merci pour votre aide.

Eric

Re: Php <--> javascript

Posté : 09 juin 2021, 17:12
par or 1
avec de l'ajax, par exemple https://api.jquery.com/jquery.get/

Re: Php <--> javascript

Posté : 09 juin 2021, 17:16
par Shadowwera
Salut Jefekoi,

Il faut bien comprendre que Javascript est un langage coté client, alors que PHP lui est un langage coté serveur.

Il est donc impossible pour Javascript de communiqué avec PHP, du moins pas sans Jquery et Ajax qui va permettre de faire des requêtes asynchrones et communiqué avec le serveur en interprétant un script PHP.

En ajoutant un événement sur un bouton, tu pourra exécuter un script PHP de cette manière :
<script>
$.ajax({
  type: POST ou GET
  url: url, //Chemin vers ton script PHP
  data: data, //Les données a transmettre qui pourront être utiliser dans ton script PHP
  success: success, //Si reussi, fait ...
  dataType: dataType
});
</script>

Re: Php <--> javascript

Posté : 09 juin 2021, 17:35
par Jefekoi
C'est bien ce qu'il me semblait .. merci pour votre aide (source et lien)

Re: [RESOLU] Php <--> javascript

Posté : 09 juin 2021, 17:57
par Jefekoi
re

Heuuu pourquoi ca marche comme ça ??
<script>
function copierTexte() {
var copyText = document.getElementById("urlimages");
copyText.select();
copyText.setSelectionRange(0, 99999)
document.execCommand("copy");
document.write('<?php echo hello();?>');
}
</script>
<?php
function hello(){
echo "Bonjour phpfrance";
}
?>
<textarea name="textarea" id="urlimages" cols="45" rows="5">789</textarea>
<input type="button" name="Release" onclick="copierTexte()" value="Click to Release">

Re: [RESOLU] Php <--> javascript

Posté : 09 juin 2021, 19:24
par Jefekoi
En imaginant que je veux récupérer une variable
<?php
$mavariable="PhpFrance";
?>
<script>
function copierTexte() {
var copyText = document.getElementById("urlimages");
copyText.select();
copyText.setSelectionRange(0, 99999)
document.execCommand("copy");
$("#msg").html('<div class="alert"><?php echo suite($mavariable);?></div>');
setTimeout(function(){window.location.href="index.php"},2800);
}
</script>
<?php
function suite($p){
echo $p;
}
?>
Affaire réglée :)

Re: [RESOLU] Php <--> javascript

Posté : 10 juin 2021, 11:27
par Ryle
Pas sur de bien comprendre ce qu'était ton besoin au départ, ni même le résultat obtenu, mais le principal c'est que cela fonctionne ;)

Ce qu'il faut comprendre c'est que comme indiqué par Shadowwera, tout ton code php va s'exécuter sur le serveur et transmettre le résultat de son exécution au navigateur pour affichage. Quand tu codes en php, il faut donc penser au résultat que tu veux obtenir dans ta page html. A partir de là, tu peux facilement passer tous les éléments dont tu as besoin sous une forme ou sous une autre.

Php peut ainsi te permettre de générer le code javascript qui sera contenu dans la page (et c'est à priori ce que tu souhaitais ?). Le contraire n'est en revanche pas possible : le javascript ne te permet pas d'intervenir sur l'exécution de ton code php (celui-ci ayant été réalisé avant l'envoi de la page au navigateur). En revanche, il est effectivement possible en javascript de rappeler le serveur sans recharger la page (avec Ajax). Tu peux ainsi réaliser des actions côté serveur avec php et renvoyer le résultat au script js qui l'a déclenché. Tu peux alors utiliser le javascript pour traiter côté client (dans le navigateur) le résultat de l'exécution de php (sur le serveur).

Re: [RESOLU] Php <--> javascript

Posté : 16 juin 2021, 06:09
par Jefekoi
Merci Ryle,

Ce que je voulais faire était un appel au script pour copier le contenu d'un textarea

Puis une fois copier faire appel à une function PHP dans la foulée mais les deux n'étant pas compatible j'ai finalement fait de cette manière
<a href="index.php?supp=supp" onClick="CopyToClipboard('sample');">Copier le(s) lien()s</a>
Qui fonctionne très bien :)