亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

聯系表上的 PHP 錯誤?

聯系表上的 PHP 錯誤?

PHP
qq_遁去的一_1 2021-11-05 10:35:07
我有以前用來收集用戶信息并存儲在 .txt 文檔中的 php 代碼,但我已將其拉回,它似乎引發了我從主機客戶那里得到的錯誤。誰能告訴我怎么了?謝謝將代碼編輯為我認為錯誤指向的內容.php 文件 vv<?phpif(isset($_POST['Name']) && isset($_POST['Email']) && isset($_POST['PNumber']) && isset($_POST['PostC']) {    $data = $_POST['Name'] . '-' . $_POST['Email'] . '-' . $_POST['PNumber'] . '-' . $_POST['PostC'] . "\n";    $ret = file_put_contents('mydata.txt', $data, FILE_APPEND | LOCK_EX);    if($ret === false) {        die('There was an error writing this file');    }    else {        echo "$ret bytes written to file";    }}else {   die('no post data to process');}$location = "index.html";header( "Location: $location" );Html vvvv <script>$(function() {    $("#Subscribe").validate({        rules: {            Name: {                required: true,                minlength: 2,                maxlength: 23,                },            Email: {                required: true,                email: true                },            PNumber: {                required: false,                number: true                 },            PostC: {                required: false,                 }    }});});                    </script><form id="Subscribe" method="POST" action="subscribe.php"><p class="subBox"><span>(Required) Name: &nbsp; &nbsp;</span><input id="Name" type="text" name="Name" size="20"></p><p class="subBox"><span>(Required) Email: &nbsp; &nbsp;</span><input id="Email" type="text" name="Email" size="20"></p><p><span>(Optional) Number: </span><input id="PNumber" type="text" name="PNumber" size="20"></p><p><span>(Optional) Postcode: </span><input "PostC" type="text" name="PostC" size="20"></p><p class="Submit"><span><input type="submit" value="Subscribe" name="Submit"></span></p></form>它應該像以前一樣將表單中輸入的文本存儲到 mydata.txt 文件中,但出現錯誤:PHP 解析錯誤:語法錯誤,第 2 行中的(出于安全考慮而刪除)/subscribe.php 中出現意外的“&&”(T_BOOLEAN_AND)注意:我已經復制了以前工作過的內容,但這次我更改了選項
查看完整描述

2 回答

?
蕪湖不蕪

TA貢獻1796條經驗 獲得超7個贊

您沒有在第 2 行的條件中括號“)”

if(isset($_POST['Name']) && isset($_POST['Email']) && isset($_POST['PNumber']) && isset($_POST['PostC']) )


查看完整回答
反對 回復 2021-11-05
?
30秒到達戰場

TA貢獻1828條經驗 獲得超6個贊

正如這里的許多人所說,您的括號似乎有問題。當你寫出有很多條件的 if 語句時,你應該首先問自己這是否是最好的設置(根據我的經驗,如果經常指向錯誤,或者可以很容易地簡化,則相同的很多條件)。如果不是這種情況(有時你真的必須把它搞定并寫出所有的條件)你應該把它分開,這樣更容易閱讀,更容易看到括號“平衡”的位置,更容易調試。我會這樣寫你的陳述:


if(//opening bracket

   isset($_POST['Name']) 

   && isset($_POST['Email']) 

   && isset($_POST['PNumber']) 

   && isset($_POST['PostC']) )//extra incorrect bracket which is now easy to spot

 )//closing bracket - in line with the opening bracket {

//do some stuff

}

如果您有更復雜的條件,這將進一步幫助您,例如:


if( 

    (//first set of conditions

      isset(condition_1)

      && isset(condition_2)

    ) &&

    (//second set of conditions

      isset(condition_3) 

      || isset(condition_4)

    )

  )

通過這樣做,您可以輕松查看您的條件平衡的位置(即打開匹配關閉)。請記住,您不會因為在一行中獲得所有條件而贏得任何獎品,并且代碼行數更少并不等于代碼更高效,正如您的示例所展示的那樣。


還值得注意的是,你不需要isset每次都寫,isset你可以說isset($var1,$var2,$var3),這和寫你所有的一樣&& issset。


我希望這對您以后的編碼有幫助,并能幫助您更快地進行調試


查看完整回答
反對 回復 2021-11-05
  • 2 回答
  • 0 關注
  • 143 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號