session_start()一定要放在頁面的最頂嗎我看有的教材是這個<html><head><title>留言頁面</title></head><body><form method="post" action="">驗證碼:<input type="text" size="10" name="check"><img src="EX4_14_image.php"><input type="submit" name="ok" value="提交"></form></body></html><?phpsession_start(); //啟動sessionif(isset($_POST['ok'])){$checkstr=$_SESSION['string']; //使用$_SESSION變量獲取SY4_5_image.php頁面上的驗證碼$str=$_POST['check']; //用戶輸入的字符串if(strcasecmp($str,$checkstr)==0) //不區分大小寫進行比較echo "<script>alert('驗證碼輸入正確!');</script>";elseecho "<script>alert('輸入錯誤!');</script>";}?>他把session放在了html下面?。?!
2 回答

嗶嗶one
TA貢獻1854條經驗 獲得超8個贊
并不是說session_start()必須放在第一行,而是要保證在使用它之前,沒有向瀏覽器輸出過任何內容
檢查session_start()之前,是否已向瀏覽器輸出過內容
php手冊中有的If you are using cookie-based sessions, you must call session_start() before anything is outputted to the browser.
例如
<html>
<body>
<p>php</p>
</body>
</html>
<?php
session_start();
?>
在session_start()之前,向瀏覽器中輸出了php,會發出一個警告
同樣
<?php
session_start();
?>
<html>
<body>
<p>zhongguo</p>
</body>
</html>
這也是不行的,因為
<?php
session_start();
?>
前空了兩行,空行也是有數據的,也不行,當然
如果前面有如:require_once("conn.php")【只要沒有輸出】,也是可以的,并不是非要放在第一行的……
添加回答
舉報
0/150
提交
取消