2015-10-05 50 views
0

我想驗證php中的回聲文本框。我嘗試了一些方法,但它不起作用。如何驗證echo中的文本框?

PHP表單代碼:

echo '<form method="post" action="singlepage.php?id='.$idn.'"'; 
echo '<label id="blogtextarea2">Comment:</label><textarea rows="10" cols="75" name="comment" id="blogtextarea" ></textarea><br>'; 
echo '<input type="submit" name="post" id="blogsubmit" value="post">'; 
echo '</form>'; 

和驗證碼是

if(isset($_POST['post'])) 
{ 
if ($_POST['comment'] != "") { 
     $_POST['comment'] = filter_var($_POST['comment'], FILTER_SANITIZE_STRING); 
     if ($_POST['comment'] == "") { 
      $errors .= 'Please enter a valid name.<br/><br/>'; 
     } 
    } else { 
     $errors= 'Please enter your name.<br/>'; 
    } 
    }      
+1

沒有工作,所以你看到藍屏?或者是什麼?調試您的代碼,如果不知道如何使用var_dump和die()無處不在 – Daimos

+0

您正通過查詢字符串傳遞一個id,但使用post方法。應該是GET!否則,只需發佈​​post方法:singlepage.php – Hexana

+0

@Hexana的答案只有在你想在你的代碼/驗證中使用id的情況下才有意義,否則你通過$ _POST正確地檢索發佈數據。無論如何,請提供您正在努力達到的目標,以便我們能夠更清楚地向您提供一些相關答案。也許是預期的產出? – shrmn

回答

0

好吧發現它爲什麼不工作

if(isset($_POST['post'])) 
{ 
    if (!empty($_POST['comment'])) { 
     $_POST['comment'] = filter_var($_POST['comment'], FILTER_SANITIZE_STRING); 
    } else { 
     $errors = 'Please enter your name.'; 
    } 
} 
echo $errors; 

你必須檢查singlepage定義的條件。 php

+0

我也試過這個,但沒有工作... –

+0

你的預期結果是什麼? – rocky

+0

我需要在窗體中使用$ _POST方法對文本框進行簡單的空驗證。 –

0

我不完全確定你的意思是「不工作」,但我已經清理了你的代碼,並改用了使用empty()函數代替空POST評論數據的檢查。

也有你的第一次檢查中的冗餘檢查空的評論,我已經刪除:

$errors = ''; 
if(isset($_POST['post'])) { 
    if(!empty($_POST['comment'])) { 
     $_POST['comment'] = filter_var($_POST['comment'], FILTER_SANITIZE_STRING); 
    } else { 
     $errors = 'Please enter your name.<br/>'; 
    } 
} 
echo $errors;