最近我一直在面对"X小时前","X天前"功能的网站.(包括stackoverflow)
就像,Anil在一个小时前玩了一场比赛.两天前Anil平了.Anil刚才发表了这条评论.
我知道可以通过一个小函数轻松完成,该函数计算到当前时间的旧时间,以秒(或毫秒)获得差异并相应地返回字符串值.
我想问的是;
PS.我不是在寻找脚本.
我需要在我的网站上选择大多数投票文章.现在,我有这个功能处理小错误但我把它写成原始SQL查询.错误就像,我得到了大多数带有原始SQL查询的投票文章,然后使用whereIn带有id的Eloquent的方法,但似乎它以随机顺序返回响应.此外,它会破坏->isEmpty()我在视图中大量使用的Eloquent 方法.
长话短说,我厌倦了编写原始查询并解决这个小脚本上的大量错误(或副作用).我想把它带到Eloquent(有关系)并完成它.
我当前的数据库架构:
articles
--id
votes
--id
--user
--article_id
--vote
Run Code Online (Sandbox Code Playgroud)
Articles.id并且votes.article_id与hasMany(一篇文章可能有很多票)相关vote列可能只包含1和-1值.group by votes.article_id order by sum(votes.vote)(我们不选择正投票,而是选择投票的SUM.vote列.)例如:
articles.id
1
2
votes.id votes.user votes.article_id votes_vote
1 User1 1 1
2 User2 1 1
3 User3 1 -1 (this is negative vote)
4 User1 2 1
5 User2 2 1
Run Code Online (Sandbox Code Playgroud)
输出应该是:
Article 2 has (2) vote rating. // 1 + 1
Article 1 …Run Code Online (Sandbox Code Playgroud) 我有两张桌子:
NEWS (id, news_content)
NEWS_VOTES (vote, news_id)
Run Code Online (Sandbox Code Playgroud)
我应该在NEWS上选择(*)所有值,并在NEWS_VOTES表上计算投票,其中news.id和news_votes.new_id是相同的.
更清楚的解释是:
负面投票:
SELECT count(*) FROM NEWS_VOTES WHERE news_id = (same ID) AND vote = 0
Run Code Online (Sandbox Code Playgroud)
正面投票:
SELECT count(*) FROM NEWS_VOTES WHERE news_id = (same ID) AND vote = 1
Run Code Online (Sandbox Code Playgroud)
我需要在一个查询中执行此操作.
网站上的输出将是"这条新闻得到57张正面投票和67张反对票".
谢谢.
PS.我用MYSQL.
我有这样一个页面.用户将URL写入表单并提交.提交URL后,我将该页面与CURL连接,搜索字符串.如果找到该字符串,则会将URL添加到我们的数据库中.如果不是,则给用户带来错误.
我用htmlspecialchars()清理URL也是一个正则表达式,允许AZ,1-9,:/ - .符号.我还使用htmlspecialchars()清理从其他网站检索到的内容.
我的问题是,他们可以输入像这样的网址; www.evilwebsite.com/shell.exe或shell.txt
PHP会运行它,还是只是寻找HTML输出?它是否安全,如果没有,我该怎么办?
谢谢.
PS.allow_url_fopen已禁用.这就是我使用curl的原因.
我正在制作一个表单验证类,它目前的工作方式与此类似.
$validator->setVar($_POST['Username'])
->standardFilter(array('XSS', 'SQL_INJECTION'))
->customRegex()
->replace('This', 'With this')
->getResult();
Run Code Online (Sandbox Code Playgroud)
虽然它在链接时效果很好,但我无法达到以下结果.
$validator->setVar($_POST['Username'])
->isValidEmail()
->isValidPhoneNumber()
->isSet()
->isNull()
->getResult()
Run Code Online (Sandbox Code Playgroud)
例如,脚本返回以下值
->isValidEmail() (true)
->isValidPhoneNumber() (true)
->isSet() (false)
Run Code Online (Sandbox Code Playgroud)
基本上,我将创建一个数组,根据每个函数的结果用true/false填充它,我将在数组中查找特定值(false).如果存在,则无论其他链如何,该类都将返回false.(或者我可以覆盖变量,这里不重要.)
但是,我希望$ validator一旦从函数中获取错误就停止链接.假设它从isSet()收到错误.它不应该执行isNull()和getResult(),因为我们已经有一个失败的检查.
我怎样才能在PHP中实现这一目标?
TL; DR:
var_dump($validator->setVar('Test message')->isInteger()->setTrue());
//false //true
Output: false, because once isInteger() failed, rest of the chain isn't executed.
Run Code Online (Sandbox Code Playgroud)
我怎样才能在PHP中实现这一目标?
我这里有一个小css片段:http://jsfiddle.net/cr6Hm/(类似的例子可以在http://9gag.com/上找到)
基本上,它在Notifications链接上显示一个小div,上面New写有文字.
现在,New文本是使用div编写的pseudo:after,它可以工作.
// This one works
.text-new:after {
content: 'New';
}
Run Code Online (Sandbox Code Playgroud)
但是,我想New动态更改文本.(例如,我想显示通知量而不是新的)
我不知道我怎么能这样做,因为我不知道它是如何pseudo:after工作的.
基本上,它应该是这样的:
<span class="popup popup-greenish">
<i class="text>{{ $amount_notifications }}</i>
Notifications
</span>
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?
我在2个月前制作了一个名为League of Legends的游戏的粉丝网站.从那以后,我一直在等Google为我的网站编制索引.
我做了这些步骤.
谷歌到目前为止没有为我的网站编制索引,所以我在/ forum /目录下创建了一个基本的PHPBB论坛.在一两个小时内,垃圾邮件机器人攻击我的论坛并制作了超过5k的主题.奇怪的是,谷歌在一小时内将它们全部索引.
问题是,为什么你认为谷歌没有索引我的主网站?我应该采取额外的步骤,还是我做错了什么?
PS.如果你想看一下,我的网站地址是www.sobafire.com.
我需要为我的一个项目创建一个向导系统,这就是我现在处理它的方式。
/*
Just pseudo functions
*/
function wizard_start()
{
//Fill the table with default values, set isVisible column to 0
}
function wizard_step_1()
{
//Update necessary columns (e.g Name, sirname)
}
function wizard_step_2()
{
//Update necessary columns (e.g Date, Type)
}
...
function wizard_final()
{
//Do the last touches and update isVisible to 1 so it will appear on website
}
Run Code Online (Sandbox Code Playgroud)
我保持我们当前的步骤。喜欢;
isset($_session['step2_completed'])
$this->wizard_step_3();
isset($_session['step3_completed'])
$this->wizard_step_4();
...
Run Code Online (Sandbox Code Playgroud)
响应通过XMLHttpRequest并期望 JSON 格式的数据。如果 JSON 返回 true,则 Javascript 将加载下一个向导。(通常是针对不同任务的 HTML 表单。)
我想知道是否有更好和更多好的实践向导替代方案。例如,我不知道在会话中保持当前步骤是好还是坏的练习方式。 …
在这个给出的例子中;
public function something($input)
{
if(something) //true case
return "something";
if(another something) //true case
return "another something";
}
$this->something('something');
Run Code Online (Sandbox Code Playgroud)
我应该使用return;以确保在第一种TRUE情况后功能不能继续运行吗?喜欢;
if(something) { //true case
return "something";
return; //stop the execution
}
Run Code Online (Sandbox Code Playgroud)
是否有必要,或者单个返回已经停止了函数的执行?
我已经使用PHP多年了.今天,我开始学习Ruby on Rails并找到了一本适合我的电子书.电子书被称为Rails for PHP Developers.它写于2008年,因此它涵盖了PHP 5.2和Rails 2.0.2.
我选择这本书的唯一原因是它解释了PHP和Ruby on Rails的源代码.比如,我们如何在PHP上创建一个类或方法,以及它在Ruby上是什么样的,有什么不同等等.因为我已经知道PHP方面,我可以很容易地理解正在发生的事情并使自己适应ruby语法.
但是,PHP 5.2 is pretty old.PHP在过去几年中发展如此之多,所以5.2对我来说感觉很古老.Laravel framework过去几个月我也使用了这个,它是由Taylor Otwell with inspiration of Ruby on Rails框架创建的.我也看过Rails for Zombies截屏视频,老老实实地告诉Laravel是一个完美的Rails克隆.感觉就像他们是一回事."是的,ActiveRecord的事情.我已经知道了."
照这样说; 我不确定RoR 2.0.2和RoR 4.0.0之间是否存在巨大差异.我是否应该继续阅读这本电子书或RoR 2.0.0以及许多遗漏的重要功能?(这是两个主要版本的差异.)如果是这样,你能告诉我什么?
此外,如果还有其他很好的资源来学习RoR,请告诉我.
PS.帮助这个PHP人做出正确的选择并跳入Ruby世界.
我想使用 twitter-bootstrap type-ahead 制作一个具有自动完成功能的下拉列表。
有什么方法可以实现这一点吗?