簡體   English   中英

PhP未定義變量

[英]PhP Undefined Variables

好的,所以我試圖通過其他人的代碼來教自己php; 有些代碼可能已經過時,但是它可以滿足基本要求,直到我有時間去上學為止。 我的問題是未定義變量錯誤。 我目前在這個問題上能找到的就是如何隱藏錯誤,但是我並不想隱藏。 如果隱藏起來並不意味着問題已經解決,則意味着您已經找到一種忽略它的方法,我認為這是不可以的。 這是有原因的錯誤。

我遇到錯誤的那一行。

<form method=post
      <?php echo "action=\"registration.php?f=".(!$flag)."&amp;s=".$sort."\""; ?> 
      enctype="multipart/form-data" >

這就是頁面上的問題。

Notice: Undefined variable: flag in C:\wamp\www\info\registration.php on line 236

還有其他相同的地方,但是我覺得如果我可以在這里學習如何解決這個問題,那么其他人也可以找到解決方案。 如果您需要任何其他信息,請告訴我。 提前致謝。 很抱歉這么怪。 我只是不想忽略正要播出的問題。

讀別人的代碼學習是一件好事-我希望更多的人會做;)

PHP是一種“腳本語言”。 與C#,C ++或Java等更“強類型”的語言不同,“腳本語言”幾乎可以讓您隨時隨地開始使用變量。

這很方便,它很靈活……但是,如果您在初始化變量之前就開始使用它,可能會導致問題。

要回答您的問題-在這種情況下找出$flag應該表示什么,並進行相應設置。 它看起來像一個布爾值,因此可能就像使用$flag = true;一樣簡單$flag = true; 在呈現表單之前。 但是同樣,如果您復制了此內容,則可能不需要它-也許可以將其從代碼中刪除?

現在,我建議使用樣式約定。 在您的示例中,您正在回顯form標簽的action屬性-僅當該屬性依賴於變量並且可能不使用時,我才這樣做。

我認為這樣做比較干凈:

<form method="post"
      action="registration.php?f=<?php echo !$flag ?>&amp;s=<?php echo $sort ?>"
      enctype="multipart/form-data"
>

您會注意到我已經將標簽包裹了幾行。 同樣,這是可選的,但可以實現完全有效的標記,並有助於避免在編輯器中進行水平滾動。 此外,由於每個屬性都有自己的行,因此您可以更輕松地查看每個屬性的起始位置。

您引用的變量尚未設置(在本例中$flag )。

基本上$flag尚未分配值,因此不存在。 在提供$flag的代碼段之前,代碼中是否有任何地方?

暫無
暫無

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

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