php
  • html
  • forms
  • submit
  • posting
  • 2017-08-13 121 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> 
    
    相關問題