2017-08-13 3 views
0

Je le code suivant:formulaire ne présente pas avec php echo

index.php

<?php 
    if (isset($_POST['post'])) { 
    echo "<script>alert(".$_POST['val1'].")</script>"; 
    } 
?> 

<html> 
... 
<body> 
... 
<?php 
    echo "<form id='form_id' method='post' name='myform'>"; 
    echo "<input id='val1' type='text' value='7'>"; 
    echo "<input id='submit' type='submit' value='submit'>"; 
    echo "</form>"; 
?> 
... 
<body> 
</html> 

Cela va créer une forme, un champ de texte et un bouton d'envoi. Tous ceux montrés parfaitement bien sauf qu'il ne soumettrait pas la forme. Donc ma question est pourquoi ma forme ne fonctionne pas ici et que dois-je faire pour résoudre ce problème sans le sortir de php.

Répondre

1

Le problème est que vous name attributs manquants pour les éléments:

<?php 
    if (isset($_POST['post'])) { 
    echo "<script>alert(".$_POST['val1'].")</script>"; 
    } 
?> 

<html> 
... 
<body> 
... 
<?php 
    echo "<form id='form_id' method='post' name='myform'>"; 
    echo "<input id='val1' name='val1' type='text' value='7'>"; 
    echo "<input id='submit' name='post' type='submit' value='submit'>"; 
    echo "</form>"; 
?> 
... 
<body> 
</html> 

Vous pouvez remarquer l'ajout de name attribut pour le champ texte et le bouton soumettre. Seul l'attribut name sera utilisé pour identifier les champs lorsque le formulaire est affiché.

0

En plus de la réponse de Thamilan sur le nom d'attribut, vous devez utiliser vide ($ POST [ 'val1']) au lieu de isset. Voici un exemple de travail complet:

<!DOCTYPE html> 
<head> 
<?php 
if (empty($_POST['val1'])) 
    print "<title>Not yet submitted</title>"; 
else 
{ 
    echo "<script>alert(".$_POST['val1'].")</script>"; 
    echo "<title>Submitted</title>"; 
} 
?> 
</head> 
<body> 
<?php 
    echo "<form id='form_id' method='post' name='myform'>"; 
    echo "<input name='val1' id='val1' type='text' value='7'>"; 
    echo "<input id='submit' type='submit' value='submit'>"; 
    echo "</form>"; 
?> 
</body> 
</html>