本文目錄一覽:
- 1、php500錯誤,下面是eintragen.php文件的代碼,感覺代碼沒錯,就是不知道為什麼點xiugai.php之後顯示500錯誤
- 2、這段php代碼有錯沒
- 3、php 程序運行沒有提示錯誤,但是也無法執行,一段很簡單的代碼,求解
- 4、php中賦值是沒有任何語法錯誤但是在瀏覽器中提示錯誤
php500錯誤,下面是eintragen.php文件的代碼,感覺代碼沒錯,就是不知道為什麼點xiugai.php之後顯示500錯誤
#$expansion = mysql_real_escape_string($_POST[“expansion”]);
改成:
//$expansion = mysql_real_escape_string($_POST[“expansion”]);
if (!preg_match(‘/^[^\x00-\x20()@,;:\\”.[\]\x7f-\xff]+(?:\.[^\x00-\x20()@,;:\\”.[\]\x7f-\xff]+)*\@[^\x00-\x20()@,;:\\”.[\]\x7f-\xff]+(?:\.[^\x00-\x20()@,;:\\”.[\]\x7f-\xff]+)+$/i’, $email))
{
echo “scriptalert(‘你的郵箱地址不正確!’);location.href=’xiugai.php’;/script”;
exit();
}
{ //////////////////////////你為什麼在這裡用花括弧????????????啥意思????????
你可以一步步的調試:比如,你可以在你認為有問題的地方加上exit(‘test1’);exit(‘test2’);以此類推,看看到底在哪一行出的問題?
500的錯誤,也有可能是資料庫的問題,你把執行時每個sql語句echo出來,然後複製到phpmyadmin裡面執行一下,看看有沒有錯誤?
xiugai.php和eintragen.php是在同一個路徑下面嗎?
你可以加上絕對路徑,比如:/eintragen.php
這段php代碼有錯沒
PHP標記有4種不同的風格可供我們使用,如下所示:
XML風格:
?php … … ?
這是PHP推薦使用的標記風格。伺服器管理員不能禁用這種風格的標記,如果將 PHP 嵌入到 XML 或 XHTML 中則需要使用 ?php ? 以保持符合標準。
簡短風格:
? … … ?
這種標記風格是最簡單的,它遵循SGML(標準通用置標語言)處理說明的風格。但是系統管理員偶爾會禁用它,因為他會干擾XML文檔的聲明。只有在通過 php.ini 配置文件中的指令 short_open_tag 打開後才可用,或者在 PHP 編譯時加入了 –enable-short-tags 選項。
SCRIPT風格:
script language=”php” … … /script
這種標記是最長的,如果讀者使用過JavaScipt或VBScript,就會熟悉這種風格。如果讀者所使用的HTML編輯器無法支持其他的標記風格,可以使用它。
ASP風格:
% …… %
如果在php.ini配置文件設定中啟用了asp_tags選項就可以使用它。這是為習慣了ASP或ASP.NET的編程風格而設計的。在默認情況下該標記是被禁用了。
總之其中兩種,?php ? 和 script language=”php” /script 總是可用的。另兩種是短標記和 ASP 風格標記,可以在 php.ini 配置文件中打開或關閉。儘管有些人覺得短標記和 ASP 風格標記很方便,但移植性較差,通常不推薦。
php 程序運行沒有提示錯誤,但是也無法執行,一段很簡單的代碼,求解
$k=1;$k=$n-$i;
這裡會死循環
簡單說明下
for (比如這裡循環 5次) {
for (比如這裡循環10次) {
這種嵌套的循環,內循環會優先於外循環的,也就是說,外循環第一次的時候,這裡開始循環,一直到這裡10次循環完畢後,外循環開始第二次循環,接著內循環又完成10次,外循環才會進入第3次。。。。。。。。。。。。依此論推
而你的內循環的條件, $k = 1, 這個時候k的值是1, 接著你有 $k = $n – $i, 開始$n 是3, 外循環第一次, $i就是1, 3-1= 2, 所以,最終你的k是2, 而你這代碼等於沒有給k一個終止數字,那麼,就會$k++一直下去,不知道到什麼數,所以,是死循環!
}
}
php中賦值是沒有任何語法錯誤但是在瀏覽器中提示錯誤
出現上面這些是 PHP 的提示而非報錯,PHP 本身不需要事先聲明變數即可直接使用,但是對未聲明變數會有提示。一般作為正式的網站會把提示關掉的,甚至連錯誤信息也被關掉。
解決方法:
方法1:伺服器配置修改
修改 php.ini 中的 error配置下錯誤顯示方式:將error_reporting = E_ALL 修改為
error_reporting = E_ALL ~E_NOTICE
修改後重啟下APCHE伺服器,方可生效。
方法2:對變數進行初始化。
方法3:做判斷isset($_post[”]),empty($_post[”]) if –else
方法4:在出現notice代碼之前加上@,@表示這行有錯誤或是警告不要輸出,@$username=$_post[‘username’];
在變數前面 加上一個 @ ,如 if (@$_GET[‘action’]==’save’) { …
方法5:最後一種很實用,是別人寫的一個函數,通過這個函數進行傳遞值。
定義一個函數:
複製代碼 代碼如下:
function _get($str){
$val = !empty($_GET[$str]) ? $_GET[$str] : null;
return $val;
}
然後在用的時候,直接用 _get(‘str’) 代替 $_GET[‘str’] 就行啦~
原創文章,作者:RFAT,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/144418.html