前后端分離的話,前端獲取返回的數(shù)據(jù),根據(jù)業(yè)務(wù)(也就是你的類型)進(jìn)行跳轉(zhuǎn)
未分離的情況如果用的是balde模板,改下return view('你想跳轉(zhuǎn)的頁面的名稱')即可吧
加多一個(gè)if判斷,或者在sql 語句添加多個(gè)where的條件判斷即可。
樓上說的沒錯(cuò),如果設(shè)計(jì)到時(shí)區(qū)問題,就不能存date了。時(shí)間戳是個(gè)人認(rèn)為最好的解決辦法
array_unshift返回的是被添加的數(shù)組的新數(shù)目,所以會(huì)返回一個(gè)數(shù)字,而不是追加后的新數(shù)組
form表單是否有增加enctype=”multipart/form-data”
laravel沒用過,不過swiftMailer可以這樣搞:
$transport = Swift_SmtpTransport::newInstance($send_host, 25)
->setUsername($email_config['email'])
->setPassword($email_config['password']);
$mailer = new Mailer();
$mailer->setTransport($transport);
//Priority value, should be an integer in range: 1..5, where 1 is the highest priority and 5 is the lowest.
$priority = $email['isurgent'] == 2 ? 1 : 3;
$message = (new Message())
->setFrom([$email['send_mail'] => $email['send_name']])
->setTo(explode(';', $email['receive_mail']))
->setSubject($email['title'])
->setHtmlBody($email['content'])
->setPriority($priority);
$email['ccperson'] ? $message->setCc(explode(';', $email['ccperson'])) : '';
$email['bccperson'] ? $message->setBcc(explode(';', $email['bccperson'])) : '';
$email['isreturn'] ? $message->setReadReceiptTo($email['send_mail']) : '';
$attachment = json_decode($email['attachment'] ?: '[]', true);
$base_path = getcwd() . '/';
foreach ($attachment as $v) {
if (file_exists($base_path . $v['path'])) {
$message->attach($base_path . $v['path'], ['fileName' => $v['name'], 'contentType' => $v['type']]);
}
}
$result = $mailer->send($message);
設(shè)置下transport 。
就是數(shù)字, 按字符串來說, 是 1 10 11 ... 19 2 3 4 ... 9 90 91 ... 99, 按自然排序是 1 2 3 4 ... 10 11 12 ... 20 21 22 ... 90 ... 99
content-length 錯(cuò)誤就設(shè)置請(qǐng)求頭就行了啊
在點(diǎn)擊按鈕后,給有權(quán)限的人分配一個(gè)Token,并將該Token 記錄到緩存中,設(shè)置為 1分鐘過期.
操作:
用戶點(diǎn)擊進(jìn)入按鈕的時(shí)候, 判斷當(dāng)前擁有權(quán)限的人數(shù)是否達(dá)到閥值 (判斷Token的數(shù)量)
達(dá)到閥值,然會(huì)403 Forbidden. 否則生成新的Token 分配給該用戶
大致邏輯應(yīng)該是這樣的.僅供參考.
這個(gè)代碼肯定是跑不起來的哦.不過思路應(yīng)該就這樣了
<?php
// 除了 Auth 可以匿名訪問(就是客戶端請(qǐng)求的時(shí)候,不帶Token的情況)之外. 其他的所有請(qǐng)求都必須攜帶Token上傳
// 這里的Token 可以放到 Header 中
$request = HttpRequest;
$response = HttpResponse();
// 請(qǐng)求資源不是Auth,且沒有攜帶Token的情況,直接返回403,或者跳轉(zhuǎn)頁面到獲取Token的地方(就是點(diǎn)擊進(jìn)入頁面的那個(gè)按鈕的地方)
if ($request->getPath() !== 'auth' && !$request->getHeader('token')) {
return $response->withHeader(403);
}
// 如果攜帶Token,但是Token已經(jīng)失效,那么不能訪問,或者跳轉(zhuǎn)到獲取Token頁面重新獲取Token
if ($token = $request->getHeader('token') && !(new Accessable($token))->isTokenAvaliable()) {
return $response->withHeader(403);
}
// 正常邏輯
/*****************************************************************************************/
class Accessable()
{
protected $token;
public function __construct($token)
{
$this->token = $token;
}
/**
* 老用戶是否還有權(quán)限可以訪問,就是判斷他的Token是否還存在,畢竟1分鐘后,Token就會(huì)自動(dòng)被刪除
*/
public function isTokenAvaliable()
{
$redis = Redis();
if ($redis->exists($token)) {
return true;
}
return false;
}
}
/**
* 授權(quán)操作
*/
class Auth
{
const EXPIRE_TIME = 60;
const AUTH_TOKENS = 'auth_tokens'; // 用來保存所有的Token,方便Redis查詢
public function POST()
{
if (!$this->isNewUserAvaliable()) {
return 403; // 返回403 Forbidden
}
$token = $this->generateToken();
return $token;
}
/**
* 生成可以訪問的票據(jù)Token
*/
protected function generateToken()
{
$redis = new Redis();
$token = sprintf('Token:%s', uuid());
$redis->set($token, 1);
$redis->expire($token, self::EXPIRE_TIME); // 設(shè)置為1分鐘自動(dòng)過期
$redis->sAdd(self::AUTH_TOKENS, $token);
return $token;
}
/**
* 對(duì)于新用戶是否可以訪問判斷(因?yàn)樗麤]有攜帶Token上來,那么就是新用戶)
* 判斷方式,是查詢Redis中存在的Token數(shù)量是否達(dá)到閥值
*/
protected function isNewUserAvaliable()
{
$redis = new Redis();
$tokens = $redis->sMembers(self::AUTH_TOKENS);
$counter = 0;
foreach ($tokens as $token) {
if ($redis->exists($token)) {
++$counter;
continue;
}
$redis->sRem($token);
}
if ($counter >= self::MAX_USER_COUNT) {
return false;
}
return true;
}
}
為什么一定要退出才請(qǐng)求后臺(tái)?不能點(diǎn)了收藏之后就請(qǐng)求么?
你訪問HTML頁面啊,訪問php有什么用
593這個(gè)地方加個(gè)引號(hào)試試""
"scene":{"scene_str": "5932121212121212121212"}
不知道你是怎么配置的,一般就是在httpd-vhosts.conf
文件中增加域名配置項(xiàng)解決。
<VirtualHost *:443>
DocumentRoot "D:\wamp\www\project"
ServerName project.com
SSLEngine on
SSLProtocol TLSv1 TLSv1.1 TLSv1.2
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4
SSLCertificateFile "D:\wamp\bin\apache\apache2.4.9\conf\cert\***.crt"
SSLCertificateKeyFile "D:\wamp\bin\apache\apache2.4.9\conf\cert\***.key"
SSLCertificateChainFile "D:\wamp\bin\apache\apache2.4.9\conf\cert\***.crt"
</VirtualHost>
用docker容器啟數(shù)據(jù)庫服務(wù)的話,需要將數(shù)據(jù)庫的數(shù)據(jù)掛載到宿主機(jī)上,否則每次重啟容器都會(huì)導(dǎo)致數(shù)據(jù)丟失。
可以使用-v參數(shù)將mysql的數(shù)據(jù)目錄/var/lib/mysql掛載到宿主機(jī)的某個(gè)目錄下,就可以持久化數(shù)據(jù)。
// 綁定事件,點(diǎn)擊一次放大兩級(jí)
div.onclick = function(e){
map.zoomTo(map.getZoom() + 2);
}
訂單
orderinfo
select sum(a.price * a.count) as total, a.order_id, b.user_id
from `orderinfo` as a, `order` as b
where a.order_id=b.id
group by a.order_id
order by total DESC
limit 10;
請(qǐng)參考。
兩種方法, 一種是直接用Collection
的foreach
方法:
Model::all()->each(function ($item){
// ...
})
另外一種是先從Collection
里取出數(shù)組, 用toArray
方法,再foreach
:
$all = Model::all()->toArray();
foreach ($all as $item) {
// ...
}
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國(guó)家
北大青鳥中博軟件學(xué)院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學(xué)院和江蘇省首批服務(wù)外包人才培訓(xùn)基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團(tuán)創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務(wù)機(jī)構(gòu),發(fā)展為教育服務(wù)業(yè)的綜合性企業(yè)集團(tuán),成為集合面授教學(xué)培訓(xùn)、網(wǎng)
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問,美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。