2010-05-28 4 views
0

Je veux afficher des valeurs à une page via un lien hypertexte dans une autre page. Est-il possible de faire ça?afficher des valeurs à la page externe explicitement PHP

Disons que j'ai une results.php page qui a la ligne de départ,

<?php 
if(isset($_POST['posted_value'])) 
{ 
echo "expected value"; 
// do something with the data 
} 
else 
{ 
echo "no the value expected"; 
} 

Si une autre page dire link.php je place un lien hypertexte comme celui-ci:

<a href="results.php?posted_value=1">, cela sera accepetd par la page de résultats?

Si au contraire si je remplace la ligne de départ ci-dessus avec

if(isset($_REQUEST['posted_value'])), cela fonctionnera?

je crois que le hyperlink ci-dessus est évaluée à GET, mais étant donné que la seule différence de visibilité entre GET et POST est you can see parameters in the address bar with GET

Mais, est-il une autre façon de placer un lien hypertexte qui permet de publier des valeurs à une page? ou pouvons-nous utiliser jquery à la place de lien hypertexte à POST les valeurs?

Quelqu'un peut-il s'il vous plaît me suggérer quelque chose sur ce s'il vous plaît?

Merci.

Répondre

0

Vous ne pouvez pas effectuer une demande POST à ​​l'aide d'un lien hypertexte. Cela émettra toujours une demande GET. Vous devez utiliser javascript pour le faire. Avec jQuery est très facile en utilisant la méthode $.post ou $.ajax.

Exemple de code:

html:

<a id="MyLink" href="#">Link</a> 

javascript:

$(function() { 

    $("MyLink").click(function() { 
     $.post("test.php", { name: "John", time: "2pm" }); 
    }); 
}); 

Bien sûr, vous pouvez tout faire dans le code html, mais il est déconseillé:

<a href='#' onclick='$.post("test.php", { name: "John", time: "2pm" })'>Link</a> 
+0

ne sais pas comment sortir un lien hypertexte avec jquery à POST valeurs de – JPro

+0

est-il une réelle différence si je place ce '.click' code javascript dans la région' head' ou dans le 'body'? – JPro

+0

Il est préférable de le mettre dans la section tête.Dans ce cas, je ne pense pas que cela fera une différence. – kgiannakakis

0

Vous peut voir la chaîne de requête (et par conséquent $_GET) si le type de requête est GET ou POST. POST transmet des paramètres supplémentaires à l'entrée standard du script qui sont analysés pour générer $_POST et $_FILES. En cliquant sur un lien hypertexte, vous générez une requête GET à moins que vous ne la surchargiez en utilisant JavaScript en simulant la soumission d'un formulaire POST.

0

Vos hypothèses sont correctes. Les liens hypertexte ne peuvent pas POST à ​​un script PHP, seulement transmettre des paramètres comme GET. Vous pouvez utiliser la méthode $.ajax dans jQuery comme suggéré par kgiannakakis, qui sera POST à ​​un script PHP, mais alors vous ne changeriez que des parties d'une page et pas la page entière.

Une autre solution consiste à utiliser un formulaire et un bouton - vous pouvez le styler comme un lien si vous le souhaitez.

<style> 
.formlink { 
    display: inline; 
} 
.formlink input.submit { 
    display: inline; 
    background: transparent none; 
    border: 0; 
    color: blue; 
} 
</style> 

<form class="formlink" method="post" action="script.php"> 
    <input type="hidden" name="posted_value" value="1" /> 
    <input type="submit" value="Post 1" class="submit" /> 
</form> 
Questions connexes