我相信所有这些(甚至die()或者die(0))都是相同的.如果它们不相同,哪个成功退出脚本?如果它们相同,是否有任何首选标准表示脚本成功完成?我倾向于使用exit;.
编辑:即使我在我的问题中说,所有的答案都" die()和exit()相同".我更新了标题,希望更清楚,这不是我的问题.我想从命令行脚本中清楚地表明成功.
可能重复:
PHP中的die()和exit()有什么不同?
我猜主要的问题是3之间的区别是什么?
这些中的每一个的正确语义用法是什么?
从我看到return false;可以停止,而功能die();和exit();将阻止任何进一步的代码运行在所有.
它是否正确?
我有一个简单使用的用户登录/注册系统
// execute queries, set cookies, etc. here
header("Location: " . getenv("HTTP_REFERER"));
Run Code Online (Sandbox Code Playgroud)
我最近阅读了一篇关于exit();并且die();不知道我应该使用这些内容的帖子.根据我的理解,他们让它结束PHP?那是对的吗?我能为此努力的最佳方法是什么,只需在header()之后直接添加其中一个函数; 执行我有吗?
我有AJAX,通过我的login.php/register.php阅读jQuery,这会以任何方式影响吗?
编辑:除了header();之后,我应该在哪里使用exit();或者die();函数?并且exit();更多地用于PHP,而die();更多用于Perl?
可能重复:
PHP中的die()和exit()有什么不同?
我die和它的区别完全混淆了exit.
大多数程序员都die这样使用.
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password'); //don't see mysql_* problem it is just example
if (!$link) {
die('Could not connect: ' . mysql_error());
}
Run Code Online (Sandbox Code Playgroud)
并使用exit这样的
$filename = '/path/to/data-file';
$file = fopen($filename, 'r')
or exit("unable to open file ($filename)");
Run Code Online (Sandbox Code Playgroud)
根据那里的功能,我认为没有任何区别,因为它们都会终止脚本的执行.
我的问题是
1)在这些例子中,我可以与出口互换模具,反之亦然吗?
2)这些也有区别.
干杯...
我有一个网站,使用会话cookie的安全性.它工作正常,但是现在任何ajax请求都不安全.例如,假设用户在页面上.如果他们使用会话登录,他们只能访问此页面 - 到目前为止一切顺利.但现在他们要求的ajax请求是
ajaxpages/somepage.php?somevar=something&anothervar=something
Run Code Online (Sandbox Code Playgroud)
如果任何其他用户自己决定只去那个链接(没有会话),他们仍然会获得与登录人员相同的ajax输出.
所以显然我必须在发送ajax请求时传递会话数据.有没有人提出最好的方法呢?我以前从未这样做过,宁愿使用可靠的方法而不是自己制作.
我还在学习PHP学习.终止脚本时,exit()/ die();和return;?之间有什么区别:
在php脚本中,我有一些测试,在脚本之后是html页面.
当测试失败时,我称之为死亡("测试1失败"); 如果没有测试失败,php脚本到达终点?>然后在php脚本之后加载html代码.
这是一个很好的程序吗?或者我需要在php脚本结束之前编写die()或exit()?
我有使用fputcsv编写csv文件的问题.它将页面html也放入csv文件中.我的代码有什么问题?
//Excel header
header("Content-Disposition: attachment; filename=\"Delivery_Reports.csv\";" );
header("Content-type: application/vnd.ms-excel");
$out = fopen("php://output", 'w');
$flag = false;
// $result = mysql_query("SELECT * FROM senderids ") or die('Query failed!');
//$sel="SELECT number as MobileNumber ,snum as Sender , msg as Subject ,crdate as Date ,status FROM savemsg WHERE userID='".$_SESSION['id']."' ".$str." ORDER BY sn DESC ";
$result = mysql_query("SELECT `count`, `dnd`, `credit`, `sender_id`, `to`, `message`, `status` FROM `reports` WHERE `unq_id` = '$dlr_id'");
while(false !== ($row = mysql_fetch_assoc($result))){
if(!$flag){
$list = array(
"Total"=>"Total",
"DND"=>"DND",
"Credits"=>"Credits", …Run Code Online (Sandbox Code Playgroud) 我试图创建一个重定向,如果用户没有登录,我很困难
这是我正在使用的方法
<?php
if ( is_user_logged_in() ) {
?>
/*My Content*/
<?php
} else {
echo '<meta HTTP-EQUIV="REFRESH" content="0; url=http://www.*****.com/non-member.php">';
}
?>
Run Code Online (Sandbox Code Playgroud)
这工作正常,但它被延迟,并且能够在重定向之前看到页面几秒钟.
我想做的是这样的事情.
<?php
if ( is_user_logged_in() ) {
/*IGNORE NEXT STATEMENT*/
} else {
echo '<meta HTTP-EQUIV="REFRESH" content="0; url=http://www.****.com/non-member.php">';
}
?>
Run Code Online (Sandbox Code Playgroud)
我不确定这是否可能,但我会假设那里有一个方法.