2009-12-02 7 views
2

Je veux savoir comment passer des variables d'un formulaire à une page php.comment passer des variables à l'intérieur d'une page

Merci.

Edit:

J'ai une entrée et un bouton dans un formulaire. Je veux que ma page php fasse une recherche dans la base de données et affiche une table pertinente après avoir cliqué sur le bouton "soumettre". Et toutes les actions ici sont dans une page. Donc, je veux savoir comment passer des variables d'un formulaire à un script PHP sur la même page. Je suis désolé d'avoir laissé si peu de détails.

Pouvez-vous comprendre ma question maintenant? Merci encore.

+7

Pourriez-vous être plus précis? –

Répondre

5

EDIT: Voici comment vous passez une valeur entrée par un utilisateur d'un formulaire à une page PHP.

Voici forme générique:

<form method="post" action="<?php echo $_SERVER['$PHP_SELF'];?>"> 
    <input type="text" size="12" maxlength="12" name="name"> 
    ... 
    ... 
</form> 

maintenant le code PHP:

<?php 
    $name = $_POST["name"]; 
?> 

Remarque: vous pouvez modifier le type de poste entre POST et GET et modifiez l'option d'action pour envoyer le formulaire d'entrée à une autre page PHP.


Parlez-vous de la transmission d'une variable à une fonction?

$name = 'Robert'; 

printName($name); 

function printName($n) { 
    echo $n; 
} 
+0

Je pense que vous avez répondu à ma question, Merci beaucoup Robert. –

+0

pas de problème, j'espère que c'est ce que vous cherchiez –

+0

Pour '

', je suggère de le modifier à ''. Parce que vous devez définir 'register_globals = on' dans php.ini. –

0

C'est facile, il suffit de les commenter:

$a = 'variable 1'; 
//$b = 'variable 2'; 
$c = 'variable 2'; 

Vous voyez? J'ai assigné $ a, puis j'ai passé juste au dessus de $ b, et finalement assigné $ c. Tout à l'intérieur d'une page PHP !!

+0

Je pense que vous avez mal compris ma question, je veux passer une variable dans un formulaire à la table dans une page php. Tu vois? –

+0

Passes variables a une signification technique spécifique qui n'a rien à voir avec les ignorer. – Quentin

+1

Je n'ai pas mal compris votre question. Je viens juste de lire et de faire des suppositions ridicules puisque vous avez décidé d'omettre tout type de contexte ou de détails. – Langdon

0
<?php 
$value = 'bla'; 
function getValue($string) 
{ 
return ($_GET[$string]); 
} 
$value = getValue('bla'); 
?> 
<html> 

//... 
<body> 
<form> 
<input type="text" value="<?php echo $value; ?>" /> 
</form> 
<tr> 
<td> 
<tr><?php echo $value; ?></tr> 
<td> 
</body> 
</html> 

Il est tout à fait sans importance quel ordre que vous utilisez. Vous pouvez placer la partie html dans une chaîne PHP avec des variables PHP à l'intérieur, et en écho, php assignera automatiquement les variables à l'intérieur. Ou vous séparez HTML et PHP comme vu ci-dessus. Essayez de travailler avec des moteurs de gabarit, par exemple. SMARTY (smarty.com)

+0

@ daemonfire300, c'est un bon conseil. Merci. –

2

Toutes les variables de formulaire se retrouvent dans le tableau superglobal $ _POST ou $ _GET (en fonction de la méthode de formulaire). Si votre script les deux affiche la forme et la traite, une méthode standard ressemble à ceci:

if(isset($_POST['submit'])){ 
    //validate $_POST variables from form 

    //if validation works do action 
    //else output errors and output form again 


} else { 
    //output form 
} 
2

GET à partir de l'URL

Le plus rapide (mais plus limitée) façon de transférer des variables est par une méthode appelée GET. Avec GET, vous ajoutez les variables sur l'URL de la page que vous voulez les variables à transférer à:

http://www.matthom.com/contact.php?id=301&name=Matthom

L'exemple ci-dessus donne la page contact.php deux variables à utiliser: id et nom , dont les valeurs sont 301, et Matthom, respectivement.

Vous pouvez ajouter autant de variables à l'URL que vous le souhaitez.

Attention - parfois, vous ne voulez pas que vos variables soient affichées «à l'air libre». En outre, vous êtes limité à 255 caractères dans l'URL, de sorte que les variables ne peuvent pas contenir trop d'informations.

De contact.php, vous pouvez obtenir ces deux variables via PHP:

GRAB VARIABLES DE L'URL

$id = $_GET['id']; 
$name =$_GET['name']; 

POST il d'un formulaire

Une autre façon de transférer des variables, et de loin la manière la plus robuste, est de les saisir d'une forme.

Disons que ceci est votre forme code de champ:

<form action="process.php" method="post"> 
<input type="text" size="25" name="searchtype" /> 
<input type="text" size="25" name="searchterm" /> 
</form> 

Ces deux boîtes de saisie permettent aux utilisateurs d'entrer des informations. À process.php, vous pouvez saisir les variables de la même manière:

GRAB LES VARIABLES DU FORMULAIRE

$searchtype = $_POST['searchtype']; 
$searchterm = $_POST['searchterm']; 

Notez l'utilisation de $_POST[] sur $_GET[]. Cette distinction est importante.

+0

@SjB, Oui, c'est la manière courante de passer des variables entre les pages. Merci. –

Questions connexes