簡體   English   中英

具有1個字段輸入驗證的PHP-MySQL表單

[英]PHP-MySQL form with 1 field input validation

在PHP中,有一個帶有1個字段的簡單表單,必須進行驗證,並且從兩側剝離字符串。 我從字符串中保留某些字符,如果此剝離的字符串在mysql DB中,則要匹配。 如果它存在於DB中,那么我將字符串輸入DB到另一個表中,如果不存在,我將其丟棄。

問題是當前我輸入的所有內容都通過if語句驗證為true並插入到數據庫中。 它僅在if語句為true時才需要插入,而不是每次都插入。 我在不剝離字符串的情況下正常工作,但是當我從廢話中剝離字符串時,我無法使其再次正常工作...

這是帶有字符串條的代碼,它可以驗證所有內容為真

    ...
    $txt=substr($_POST[ZZ_ID],12,-1);

    $test = mysql_query("SELECT ZZcode FROM ZZcodes WHERE ZZcode='$txt'");
    $row = mysql_fetch_array($test);

    if ($row['ZZcode']== $txt)         
    $sql="INSERT INTO Data
    VALUES
    ('$_POST[ZZ_ID]','$_POST[ID]', TIMESTAMP(8))";
    else
            echo "ZZ code error";
            echo "<br />";
            echo $txt;
     if (!mysql_query($sql,$con))
     {
      die('Error: ' . mysql_error());
              }
    mysql_close($con)
    ...

這是不帶條帶的代碼塊,其工作原理:

    ...
    $test = mysql_query("SELECT ZZcode FROM ZZcodes WHERE ZZcode='$_POST[ZZ_ID]'");
    $row = mysql_fetch_array($test);

    if ($row['ZZcode']== $_POST[ZZ_ID])
    $sql="INSERT INTO Data
    VALUES
    ('$_POST[ZZ_ID]','$_POST[ID]', TIMESTAMP(8))";
    else
            echo "ZZ koodi ei saa sisestada";
            echo "<br />";
     if (!mysql_query($sql,$con))
     {
      die('Error: ' . mysql_error());
              }
    mysql_close($con)
    ...

在設置$txt=substr($_POST[ZZ_ID],12,-1);之前,只需var_dump($_POST[ZZ_ID]) $txt=substr($_POST[ZZ_ID],12,-1);

然后是var_dump($txt)

我認為substr()函數是您的問題!

如果要比較字符串,我建議您使用字符串比較功能,例如strcmp。 要了解有關strcmp的更多信息,請訪問strcmp-PHP手冊

如果兩個字符串相等,此函數將返回0。 此比較區分大小寫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM