我在按钮上具有以下功能:
$(function() {
$("#submit").click(function(){
$.ajaxSetup({ cache: false });
$.ajax({
url:'crfile.php',
type:'GET',
});
};
它调用以下PHP文件:
if (session_status() == PHP_SESSION_ACTIVE){
session_destroy();
}
session_start();
$extension = ".txt";
$_SESSION['fname'] = substr(md5(rand()), 0, 7).$extension;
fopen("temp/" . $_SESSION['fname'], 'w');
$fname = $_SESSION['fname'];
它在temp /文件夹中创建一个具有随机名称的文件。两者都正常工作,除非我第二次单击#submit
按钮而不重新加载页面。它会重新运行该函数,但是不会在PHP脚本中生成新的文件名。
我以为是缓存或会话,但是事实并非如此。我正在使用PHP 5.5。
有人可以请教吗?
参考方案
首先,您需要检查ajax函数。尝试使用方法“ post”,或对代码使用on('click',function(){.....})。
其次,您需要确保ajax函数确实有效。
使用“打印”和“退出”进行调试。
if (session_status() == PHP_SESSION_ACTIVE){
session_destroy();
}
session_start();
$extension = ".txt";
$_SESSION['fname'] = substr(md5(rand()), 0, 7).$extension;
//debugging command
print $_SESSION['fname'];
print 'see this?';
exit;
fopen("temp/" . $_SESSION['fname'], 'w');
$fname = $_SESSION['fname'];
这样,您将知道您的ajax是否有效。您可以在上述代码的末尾使用debug命令。
尝试这些代码,如果需要更多帮助,请告诉我。
php session header()重定向后丢失 - php这是我第一次尝试创建会话。另外,成功登录后,我使用header()函数重定向页面,但是在重定向的页面上,我不再有会话。有代码:建立工作阶段:function userLogin($user){ session_start(); $_SESSION['username'] = $user; header("Location: /~…
PHP strtotime困境 - php有人可以解释为什么这在我的服务器上输出为true吗?date_default_timezone_set('Europe/Bucharest'); var_dump( strtotime('29.03.2015 03:00', time()) === strtotime('29.03.2015 04:00…
PHP-全局变量的性能和内存问题 - php假设情况:我在php中运行一个复杂的站点,并且我使用了很多全局变量。我可以将变量存储在现有的全局范围内,例如$_REQUEST['userInfo'],$_REQUEST['foo']和$_REQUEST['bar']等,然后将许多不同的内容放入请求范围内(这将是适当的用法,因为这些数据指的是要求自…
php-casperjs获取内部文本 - php我正在为casperjs使用php包装器-https://github.com/alwex/php-casperjs我正在网上自动化一些重复的工作,我需要访问一个项目的innerText,但是我尚不清楚如何从casperjs浏览器访问dom。我认为在js中我会var arr = document.querySelector('label.input…
PHP Memcached会话突然失效 - phpsession.save_handler = memcached session.save_path = "127.0.0.1:11211" session.gc_maxlifetime = 86400 其余的标准。我希望自上次用户访问该页面以来,该会话至少可以保留86400秒,即,如果我在5分钟后启动了一个会话并访问了该页面,则该会话应…