2010-11-13 6 views
0

Au lieu de me répéter avec ma forme:Créer une fonction PHP pour afficher un formulaire HTML?

<form name="addBlockList" action="" method="post"> 
Välj blockeringsgrad: 
<select name="blockeringsgrad" style="font-size: 12px;"> 
<option value="1">1 - Bilder</option> 
<option value="2">2 - Bilder, Vän, Vägginlägg, PM</option> 
<option value="3">3 - Ingen tillgång till profil</option> 
</select> 
<input type="hidden" name="uID" value="$id"> 
    <br> 
    <input type="submit" value="Lägg till"> 
    </form> 

Je voudrais simplement appeler une fonction et il serait alors montrer ce formulaire. Pourriez-vous le faire? Et pour l'uID, pourrais-je avoir un paramètre à la fonction?

+0

Oui, vous pouvez écrire une fonction pour le faire. Cependant, plutôt que de le faire, il serait probablement préférable de mettre le formulaire dans son propre fichier et [include()] (http://us3.php.net/manual/fr/function.include.php). – GreenMatt

+0

Une autre option serait d'utiliser un moteur de template tel que smarty. – GWW

+0

@ GreenMatt oui, mais je ne peux pas avoir et paramètre quand j'inclue – Johnson

Répondre

4
<?php  
function showForm($uid){ 
    ?> 
    <form name="addBlockList" action="" method="post"> 
    Välj blockeringsgrad: 
    <select name="blockeringsgrad" style="font-size: 12px;"> 
    <option value="1">1 - Bilder</option> 
    <option value="2">2 - Bilder, Vän, Vägginlägg, PM</option> 
    <option value="3">3 - Ingen tillgång till profil</option> 
    </select> 
    <input type="hidden" name="uID" value="<?=$uid?>"> 
    <br> 
    <input type="submit" value="Lägg till"> 
    </form> 
    <?php 
} 

EDIT:

Si vous voulez que cette méthode pour retourner le formulaire que vous pouvez utiliser en mémoire tampon de sortie comme ceci:

<?php  
function showForm($uid){ 
    ob_start(); 
    ?> 
    <form name="addBlockList" action="" method="post"> 
    Välj blockeringsgrad: 
    <select name="blockeringsgrad" style="font-size: 12px;"> 
    <option value="1">1 - Bilder</option> 
    <option value="2">2 - Bilder, Vän, Vägginlägg, PM</option> 
    <option value="3">3 - Ingen tillgång till profil</option> 
    </select> 
    <input type="hidden" name="uID" value="<?=$uid?>"> 
    <br> 
    <input type="submit" value="Lägg till"> 
    </form> 
    <?php 
    return ob_get_clean(); 
} 
+0

alors quand j'appelle showForm (1) il retournera le formulaire? – Johnson

+0

Non, il ne retournera pas le formulaire, il sortira le texte directement. Si vous souhaitez que le texte du formulaire soit renvoyé, vous pouvez utiliser la mise en tampon de sortie. J'ai édité ma réponse pour donner un exemple. – GWW

0

Ou vous pouvez utiliser la syntaxe heredoc pour mettre votre formulaire en Chaîne dans une fonction de PHP:

<?php 

function display_form($uid) { 
$str = <<<EOT 
<form name="addBlockList" action="" method="post"> 
Välj blockeringsgrad: 
<select name="blockeringsgrad" style="font-size: 12px;"> 
<option value="1">1 - Bilder</option> 
<option value="2">2 - Bilder, Vän, Vägginlägg, PM</option> 
<option value="3">3 - Ingen tillgång till profil</option> 
</select> 
<input type="hidden" name="uID" value="$uid"> 
    <br> 
    <input type="submit" value="Lägg till"> 
    </form> 

EOT; 
return $str; 
} 

echo display_form(1); 
?> 
0

Il y a un article détaillé à ce sujet mais fondamentalement h Il y a le code. https://a1websitepro.com/create-form-php-function/

<?php 
    function form(){ 
    echo ' 
    <form method="post" action=""> 
    <input type="text"name="firstName"/> 
    <input type="submit" name="submit" value="submit"/> 
    </form> 
    '; 
    } 

?>

Questions connexes