2010-11-22 13 views
1

Je voudrais avoir un formulaire qui exécute du code PHP sans avoir à ouvrir une toute nouvelle page php. En ce moment, je suis familier avec "POST" afin que je puisse exécuter un fichier php et appeler les variables du formulaire HTML en utilisant $ _POST [variable], mais il faut du temps pour ouvrir une nouvelle page, et je veux avoir un forme qui fait l'action à droite et à gauche. Par exemple, quelqu'un peut-il écrire du code html qui crée une zone de texte et un bouton, et lorsque l'utilisateur appuie dessus, il affiche le texte que l'utilisateur a entré juste à côté du bouton.Formulaire HTML avec PHP

Merci!

+0

Vous utiliseriez Javascript pour cela, vous ne seriez pas soumettre un formulaire. – robbrit

+0

à quoi cela ressemblerait-il? – CodeGuy

+0

Avez-vous vu http://jquery.com/? Cela rend votre vie tellement plus facile quand vous faites ce genre de chose. – mikel

Répondre

1

Voici un extrait HTML et PHP pour vous aider à démarrer. Il utilise jQuery et écrit simplement la valeur de textarea sous le bouton submit en utilisant AJAX.

HTML Snippet [file = so.html]

<!DOCTYPE html> 
<html><head><title>SO Example</title> 
<script 
    type="text/javascript" 
    src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.js"> 
</script> 
</head> 
<body> 

<form id="frm" name="frm"> 
    <textarea id="txt" name="txt" rows="4" cols="40"> 
    </textarea><br /> 
    <input type="submit"><br /> 
    <span id="result"></span> 
</form> 

<script type="text/javascript"> 
$('#frm').submit(function(e){ 
    e.preventDefault(); 
    $.ajax({ 
    url:"/so.php",type:"post",dataType:"html", 
    data:$('#frm').serialize(), 
    success:function(obj){ 
     $('#result').text(obj); 
    } 
    }); 
}); 
</script> 

</body> 
</html> 

PHP Snippet [file = so.php]

<?php 
echo $_POST['txt']; 
0

Si vous voulez exécuter le code PHP après le chargement de la page sans ouvrir une nouvelle page, vous devez utiliser une technologie comme AJAX. PHP est un pré-processeur et est destiné à être exécuté pour traiter une page, pas pour les fonctions après cela.

Avec AJAX, vous pouvez utiliser javascript pour appeler une page Web traitée par PHP. Ensuite, avec cette page/données retournées, vous pouvez faire votre fonction de page.

Pour plus d'informations sur l'enregistrement ajax ici: http://en.wikipedia.org/wiki/Ajax_(programming)

Je recommande regarder comme jQuery wrapper ajax: http://api.jquery.com/jQuery.ajax/ Vous pouvez trouver une tonne de tutoriels en ligne pour vous aider à démarrer.

0

Je regarderais dans AJAX, plus spécifiquement un appel AJAX en utilisant jQuery. Il semble un peu comme celui-ci pour une requête POST:

$.ajax({ 
    type: 'POST', 
    url: url, 
    data: data, 
    success: success 
}); 

Et si je remplissais que dehors, il pourrait ressembler à ceci:

$.ajax({ 
    type: 'POST',     // Method of submission: POST or GET 
    url:  'processor.php',   // The script to send to. 
    data: { id: 1, name: 'John' }, // The data to give to PHP. 
    success: function(data) {   // Do something with what PHP gives back. 
      console.log(data); 
      } 
}); 

Pour plus d'informations sur les fonctions AJAX jQuery, tête ici: http://api.jquery.com/category/ajax/ Vous êtes probablement intéressé par jQuery.ajax(), jQuery.post() et jQuery.get().