2014-05-08 3 views
-3

Je sais que cela a été répondu à plusieurs reprises, mais ce que je cherche est le passage de variables au sein de la même page. Je comprends que PHP est un script côté serveur alors que JS est le côté client, donc quand la page se charge, il va charger PHP avant JS, il est donc impossible de le faire.Passer une variable de JS à PHP dans la même page

Ce que je cherche est une méthode alternative pour effectuer ma tâche JS qui est de prendre la valeur après le? dans la barre d'adresse (//localhost/Task/delete.php?ID=1). Sinon, il existe un moyen de passer la variable dans PHP car la valeur sera utilisée pour exécuter une requête SQL.

Merci

<script language="javascript" type="text/javascript" > 
var url = window.location.href; 
var params = url.split('?ID='); 
var fdf = (params[1]) 
alert(fdf); 

</script> 

<?php 
$random = $_GET["fdf"]; 

echo $random; 
?> 
+2

Vous semblez déjà utiliser les données de la barre d'adresse, dans JS. Je ne comprends pas quel est le problème. – Quentin

+2

PHP et JS ne partagent pas * "Page" *, donc il n'y a pas de "JS To PHP dans la même page" *. Très probablement, vous cherchez AJAX. – hakre

+0

Je suppose que vous êtes à la recherche d'une solution ** [Ajax] (https://www.google.com/search?q=submit+a+form+with+ajax) **. – Jonathan

Répondre

1

Code HTML

<div id="content"></div> 

Code Javascript

$(document).ready(function(){ 
var url = window.location.href; 
var params = url.split('?ID='); 
var id = (params[1]); 
     $.ajax({ 
     type:"POST", 
     url:"page.php", 
     data:{id:id}, 
     success:function(result){ 
     $("#content").html(result); 
     } 
     }); 
    }); 

Code PHP: page.ph p

<?php 
$random = $_POST["id"]; 
echo $random; 
?> 

code complet d'une page: demo.php

Note: URL de cette page doit être demo.php?ID=someValue

<!DOCTYPE html> 
<html> 
<head> 
<title>Demo</title> 
<script src="js/jquery.js"></script> 
<script> 
$(document).ready(function(){ 
var url = window.location.href; 
var params = url.split('?ID='); 
var id = (params[1]); 
    $("#submit").click(function(){ $.ajax({ 
     type:"POST", 
     url:"demo.php", 
     data:{id:id}, 
     success:function(result){ 
     $("#content").html(result); 
     $("#submit").hide(); 
     } 
     }); 
     }); 
    }); 
    </script> 
</head> 
<body> 
<button id="submit">Click Me</button> 
<div id="content"></div> 

</body> 
</html> 
<?php 
$random = $_POST["id"]; 
echo $random; 
?> 

Note: Ne pas oublier d'inclure Fichier de bibliothèque jquery

+1

Il est totalement inutile de faire une demande (y compris une chaîne de requête) à PHP, PHP envoie du JavaScript au navigateur, fait que JavaScript lise la chaîne de requête (qui a déjà été envoyée à PHP) et la renvoie à PHP. – Quentin

+0

@Quentin Veuillez vérifier le code mis à jour pour ** Complétez le code d'une page ** – mrdeveloper

+0

@mrdeveloper Merci pour le travail autour de mon problème mrdeveloper. Vraiment apprécier votre aide. À votre santé –

1

question, en dépit de tous les JS en elle, semble demander:

Etant donnée une URL comme //localhost/Task/delete.php?ID=1, comment puis-je lire la valeur de ID en delete.php?

La réponse est:

$_GET['ID'] 

La section pertinente du manuel est here.

Questions connexes