php
  • html
  • forms
  • submit
  • posting
  • 2017-08-13 125 views 0 likes 
    0

    我有以下代码:形式不与PHP的回声提交

    的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> 
    

    这将创建一个形式,一个文本字段和一个提交按钮。除非不提交表格,否则所有表现都非常好。所以我的问题是为什么我的表单不能在这里工作,我应该怎么做才能解决这个问题,而不需要从php中移出。

    回答

    1

    问题是,你缺少的元素name属性:

    <?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> 
    

    你可以注意到另外name属性的文本字段和提交按钮。只有name属性将用于标识表单发布时的字段。

    0

    除了Thamilan的有关名称属性的答案,你应该使用($ POST [ 'VAL1']),而不是isset。 这是一个完整的工作示例:

    <!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> 
    
    相关问题