源程序为:if($_GET['act']=="")
{
$id=$_GET["id"];
$teachedit=$db->query("select * from news where id='$id'");
mysql_query("set names 'gb2312'");
$show=$db->getarray($teachedit);
$keywords=$show['keywords'];
$hits=$show['hits']+1;
$db->update("update news set hits='$hits' where id='$id'");
?>,像“act”这个错很多啊,这是什么原因?
è¦åï¼ä¸ºå®ä¹çç´¢å¼ãããã
è¿åªæ¯ä¸ªè¦åï¼ä¸æ¯é误ï¼ä¸ä¼å½±åç¨åºçæ§è¡ï¼å¦æä½ ä¸æ³çå°è¿ä¸ªè¦åï¼ä½ å¯ä»¥
1. @$_GET['act'] åé¢å 个@å ³éè¦å
2. é ç½®phpçerror reportæè¦åå ³æ
3. 代ç ä¸åä¸¥æ ¼ä¸ç¹ï¼if ( array_key_exist("act", $_GET) && $_GET['act']=="" )追é®
继ç»æ¥éï¼Fatal error: Call to undefined function array_key_exist() in C:\xampp \htdocs\ shownews.php on line 5ï¼è¿æ¯æä¹åäºåï¼è¿æè¿ä¸å¥if($_GET['act']=="")æ¯å¹²ä»ä¹çï¼actæ没å®ä¹è¿åã
追çæ¼åéäºï¼æ¯ï¼array_key_exists
$_GET['act']ææ¯ä»ä½ çæé®ä¸æ·è´ä¸æ¥ç
çæ±ï½ï½ï½ï½ï½
è°¢è°¢ä½ è¿ä¹æäºè¿åçæçé®é¢ï¼ä½æ¯ï¼ç»æè¿æ²¡åºæ¥ãè½ç¶æ²¡éäºï¼ä½è°åºæ¥äºä¸ä¸ªç©ºé¡µé¢ï¼æè¿æ¯å±è½æè¦åå§ã
改成这样
if(isset($_GET['act']) && $_GET['act'] != "")追问
改过之后,在133行也有错:if($_GET['act']=="show"),我改为了:if(isset($_GET['act']) && $_GET['act'] == "show"),之后,程序不报错了,但是我的网页点击后出现空白页面。原来有错时点击新闻标题时,还能显示新闻内容,现在出现空白页面,地址栏上是对的如:。
追答你要先理解 $_GET['act']
如果你用这个地址
那么程序就会接收到
$_GET['id'] 这个值等于15,同理
就会收到
$_GET['act'] 这个值 就是 show
出现空白是因为显示新闻内容的 程序部分在你的
if(isset($_GET['act']) && $_GET['act'] == "show")
{
中间
}
如果判断act没有值,就不会进入。你可以把显示新闻的部分写在这个if的外面