Laravel的新手,并且在Sessions方面遇到了一些问题.具体来说,从Laravel之外的PHP文件中读取会话数据.
例如,假设我像这样设置会话变量:Session::put('isAuthorized', 'yes')- 我可以在Laravel上下文中检索这个,Session::get('isAuthorized')但是以下PHP不会检索此会话密钥 -
<?php
session_start();
echo $_SESSION['isAuthorized'];
?>
Run Code Online (Sandbox Code Playgroud)
回报
Notice: Undefined index: isAuthorized in C:\xampp\htdocs\session.php on line 3
Run Code Online (Sandbox Code Playgroud)
我尝试将Laravel会话驱动程序设置为默认cookie和file模式,结果相同.
我有一张关于人员详情的表格.我想根据个人的姓氏创建一个Next/Previous链接.由于人员未按字母顺序添加,因此根据其ID选择下一行或上一行不起作用.
这是一个很大的表 - 相关的字段是id,name_l和name_f.我想通过name_l订购个人的姓氏.
我将如何完成这项任务?
谢谢!
编辑 这将在人员详细信息页面上使用,结果将生成基于当前行的数据库中下一个/ prev条目的链接(按姓氏排序).例如,如果我正在查看Joe Hammer,则Next链接将链接到Frank Ingram.
最终代码
感谢Daniel,这是我最终的工作:
首先,我将增量设置为0:$ i = 0.然后,在使用while循环遍历记录时,我将其增加1 = $ i ++.然后我链接到该特定条目的详细信息页面:
<a href="details.php?id=<?php echo $member['id'];?>&row=<?php echo $i;?>">Details</a>
Run Code Online (Sandbox Code Playgroud)
在Details页面上,我使用以下SQL来选择下一条记录:
$row = $_GET['row'];
$getNext = mysql_query("SELECT * FROM members ORDER BY name_l, id LIMIT ".$row.", 1");
$next = mysql_fetch_assoc($getNext);
$nextLink = $row + 1;
Run Code Online (Sandbox Code Playgroud)
最后,链接:
<a href="member_details.php?id=<?php echo $next['id'];?>&row=<?php echo $nextLink;?>"><?php echo $next['name_l'] . ", " . $next['name_f'];?></a>
Run Code Online (Sandbox Code Playgroud) 我开发的网站最近受到了损害,最有可能是暴力破解或彩虹桌攻击.原始登录脚本没有SALT,密码存储在MD5中.
下面是一个更新的脚本,完成SALT和IP地址禁止.此外,如果相同的IP地址或帐户尝试登录失败,它将发送五月天电子邮件和短信并禁用该帐户.请仔细看看,让我知道可以改进什么,缺少什么,以及什么是奇怪的.
<?php
//Start session
session_start();
//Include DB config
include $_SERVER['DOCUMENT_ROOT'] . '/includes/pdo_conn.inc.php';
//Error message array
$errmsg_arr = array();
$errflag = false;
//Function to sanitize values received from the form. Prevents SQL injection
function clean($str) {
$str = @trim($str);
if(get_magic_quotes_gpc()) {
$str = stripslashes($str);
}
return $str;
}
//Define a SALT, the one here is for demo
define('SALT', '63Yf5QNA');
//Sanitize the POST values
$login = clean($_POST['login']);
$password = clean($_POST['password']);
//Encrypt password
$encryptedPassword = md5(SALT . $password);
//Input Validations
//Obtain IP …Run Code Online (Sandbox Code Playgroud) 问候,
如何在一个查询中执行两个UPDATE语句,例如:
UPDATE albums SET isFeatured = '0' WHERE isFeatured = '1'
Run Code Online (Sandbox Code Playgroud)
结合
UPDATE albums SET isFeatured = '1' WHERE id = '$id'
Run Code Online (Sandbox Code Playgroud)
基本上,当一个新专辑被推出时,之前推荐的专辑将切换回正常状态,并将新推出的专辑设置为活动状态.
谢谢!
我正在开发我的第一个jQuery Mobile项目并遇到了障碍.我使用的是1.0版,到目前为止,该项目非常简单,只有索引上有三个脚本.我$(document).ready(function() { ... });最初使用不正确,然后在文档中读到正确的事情是绑定pageinit或pagecreate.这是我正在进行测试的脚本(直接从文档中):
$("#main").live('pageinit', function(event) {
alert( 'This page was just enhanced by jQuery Mobile!' );
});
Run Code Online (Sandbox Code Playgroud)
我已经尝试过这个作为外部JS文件和#mainDIV中的脚本,正如我在这里找到的一些旧线程中所建议的那样.这在第一次加载索引时有效,但是当用户导航到另一个页面然后返回(重新访问)时,它不会再次触发.
我错过了什么?
我正在Laravel中建立一个博客,似乎无法弄清楚如何生成转义的URL HTML::link(..).例如,我有链接到博客中的不同类别,如部门新闻,我试图得到一个格式如此的链接 - http://localhost/blog/category/department+news.,其中Department News生成的$post->category
我尝试了以下代码,它产生了 http://localhost/blog/Department News
{{ HTML::link('admin/blog/category/' . $post->category, $post->category) }}
Run Code Online (Sandbox Code Playgroud)
如何逃避这一点并生成所需的URL?
对于我的生活,我无法让我的Superfish菜单停止隐藏在IE 7中的jQuery UI选项卡后面.我已经阅读了那里的文档,尝试更改z-index值并尝试了bgIframe插件,虽然我不确定是否我正确地实现它(在下面的例子中省略了,使用Supersubs).
这是我用于Superfish的Javascript - 使用Supersubs插件:
$(document).ready(function() {
$("ul.sf-menu").supersubs({
minWidth: 12, // minimum width of sub-menus in em units
maxWidth: 27, // maximum width of sub-menus in em units
extraWidth: 1 // extra width can ensure lines don't sometimes turn over
// due to slight rounding differences and font-family
}).superfish({
delay: 1000, // one second delay on mouseout
animation: {opacity:'show',height:'show'}, // fade-in and slide-down animation
speed: 'medium' // faster animation speed
});
});
Run Code Online (Sandbox Code Playgroud)
这是我的页面结构:
<div id="page-container">
<div id="header"></div>
<div id="nav-admin"> …Run Code Online (Sandbox Code Playgroud) Node.js的新手,并尝试从CSV文件的最后一行中提取值.这是CSV:
Unit ID,Date,Time,Audio File
Log File Created,3/6/2013,11:18:25 AM,file:\\\C:\Users\Ben\Documents\1_03-06-2013_1114-50.mp3
1,3/6/2013,11:20:24 AM,file:\\\C:\AlertLog\1_03-06-2013_1120-24.mp3
1,3/6/2013,11:20:39 AM,file:\\\C:\AlertLog\1_03-06-2013_1120-24.mp3
Run Code Online (Sandbox Code Playgroud)
我试图抓住的部分是file:\\\C:\AlertLog\1_03-06-2013_1120-24.mp3- 最好摆脱这file:\\\部分.
很抱歉,我没有任何代码可以显示,只有几个小时的Node.js经验,似乎无法找到任何关于如何完成这样的事情的文档.任何帮助,将不胜感激.谢谢!
随机我无法php artisan通过Vagrant SSH 运行项目.它在Vegrant SSH(常规终端会话)之外工作.我收到以下错误:
[ErrorException]
file_put_contents(/home/vagrant/cvahimt/vendor/services.json): failed to open stream: Protocol error
Run Code Online (Sandbox Code Playgroud)
我已经尝试了我能想到的一切 - php artisan clear-compiled,并且再次composer dump-autoload移除vendor和运行composer install.
我注意到它services.json存在于我的生产环境中,但在本地不存在.我无法创建它,因为它vendor是只读的.
此外,运行时composer update(有或没有sudo)我收到此错误:
[ErrorException]
file_put_contents(/home/vagrant/cvahimt/vendor/composer/autoload_namespaces.php): failed to open stream: Operation not permitted
Run Code Online (Sandbox Code Playgroud)
有点问题,我需要运行php artisan migrate,只能通过Vagrant运行.
我现在开始在网站设计公司中找到一个小的(只是我这个)网站设计公司,有一件事对我来说有点模糊 - 我是否可以合法地在我建立的网站中使用开源应用程序而无需付费.
比如说,我想将CKEditor合并到我生产的网站上的自定义CMS中.我应该支付商业许可吗?
我现在是一家小型创业公司,并且没有大笔资金可以购买OEM或商业许可证.在设计方面,"个人"与商业之间的界限在哪里?
我最近在本地进行了大量测试之后在Web上部署了一个Laravel 4项目,没有离线问题,但是在它出现之后有几个奇怪的问题.
该项目有一个Git存储库,我的IDE(PHPStorm)偶尔会注意到一个控制器在存储库中被更改 - 我会进行更改,尝试提交,并且会显示错误,表示没有更改.此外,有一次,文件以某种方式从"News.php"重命名为"news.php".我将文件的大小写修复为大写的NI没有重命名项目中的任何其他内容 - 所有对此类的引用(以及相应的文件)仍然是"新闻".
今天早上出现的情况是,使用新闻控制器的路线导致500错误,表明它无法包含相关文件.我检查了FTP文件系统并验证了文件是否存在且完好无损,根本没有出现任何问题.经过多次挫折之后,我将文件重命名为"news.php"(小写),一切都恢复了.我试图再次将其重命名为"News.php"并返回500错误.
发生的另一件奇怪的事情是对控制器动作的引用都是小写的(我的疏忽?)随机应用程序崩溃了500错误Class Not Found.我本地测试应用程序,它能正常工作与任何大写或小写,从"admin_news"重命名控制器参考"Admin_News"解决了生产服务器上的问题.
Laravel 4是否有某种缓存,可能引用"news.php"并拒绝使用"News.php"?关于这种奇怪行为的任何想法?
需要使用PDO计算MySQL表中每个类别的行数.例如,我需要有类别1,类别2等的条目数.如果可能,我想这样做而不必为每个类别写出SQL语句.
谢谢!
我正在尝试添加像StackOverflow和Facebook使用的评论到我正在建立的网站.基本上,每个父帖都有自己的子评论.我打算用jQuery Ajax实现前端,但我正在努力解决如何最好地处理PHP后端问题.
由于每个表单字段具有相同的名称和ID会导致验证错误(可能是一些),我将父帖子的ID添加到每个表单字段.将要传递的字段是commentID,commentBody,commentAuthor - 将添加ID commentTitle-12,等等.
由于$_POST每次处理新帖子时array_key都不同,我需要-12从$_POST键中删除(或者ID可能是什么),只留下commentTitle,commentBody等及其相关值.
例
$_POST['commentTitle-12']; //how it would be received after submission
$_POST['commentTitle']; //this is what I am aiming for
Run Code Online (Sandbox Code Playgroud)
非常感谢
解决方案 感谢CFreak-
//Basic example, not actual script
<?php
if (array_key_exists("send", $_POST)) {
$title = $_POST['title'][0];
$body = $_POST['body'][0];
echo $title . ', ' . $body;
}
?>
<html>
<body>
<form name="test" id="test" method="post" action="">
<input type="text" name="title[]"/>
<input type="text" name="body[]"/>
<input type="submit" name="send" id="send"/>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
更新2 …