我有一个 Web 应用程序 (PHP/MYSQL),每次有人通过我的应用程序中的表单在我的数据库中提交一个条目时,它都会向与该条目关联并选择接收通知的每个人发送一封通知电子邮件。
例如,有一个足球采摘池,里面有 15 个人。当第 16 个人提交他们的条目时,0-15 人将收到通知,告知有新条目。可能是 1,可能是全部 15,可能是其中的一半。
但我的网站可能有 100 个足球池,有些有 5 人,有些有 100 人。
因此,我设置了一个单独的表,记录有关每个条目的基本信息,并将“已发送”列设置为“0”。
然后我让下面的 cronjob 每隔 MINUTE 运行一次,它会查找所有带有“0”的条目(这意味着与该条目关联的人尚未收到通知)并循环遍历并向每个关联的人发送唯一的电子邮件。我发送独特的电子邮件,因为每封电子邮件都有一个取消订阅链接和特定于该人的信息。发送电子邮件后,它将所有这些条目“已发送”列更新为“1”,因此它将被忽略。
我通过 Amazon SES 使用 PHPMailer SMTP 发送电子邮件。
<?php
require_once("includes/session.php");
require_once("includes/connection.php");
require_once("includes/functions.php");
require 'phpmailer/PHPMailerAutoload.php';
//find all new entries with sent = 0, loop thru and send emails
$stmt = $pdo->prepare("SELECT * FROM cron_email_notify WHERE sent = 0");
$stmt->execute();
foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $row) {
//bunch of variables set here (which i'll leave out for brevity's sake) to …Run Code Online (Sandbox Code Playgroud) 我有一个像下面这样的 div,里面有一个问号...
<div id="mydiv">?</div>
Run Code Online (Sandbox Code Playgroud)
在我的代码中,当有人尝试提交表单时,我会检查该字段中是否有问号,如下所示:
const fieldText = $('#mydiv').text();
return fieldText.indexOf('?') !== -1;
Run Code Online (Sandbox Code Playgroud)
这很好用,但是现在,我有一个问号(而不仅仅是文本问号)的 SVG,而不是那个 div 中的问号,就像这样。
<div id="mydiv">
<svg version='1.1' id='Layer_1' class='q-mark-svg' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 50' style='enable-background:new 0 0 50 50;' xml:space='preserve'>
<style type='text/css'>
.q-mark{fill:#777777;}
</style>
<g>
<g>
<path class='q-mark' d='M18.3,17.2c0,0.4-0.1,0.7-0.2,1c-0.1,0.3-0.3,0.6-0.5,0.8c-0.2,0.2-0.5,0.4-0.8,0.5c-0.3,0.1-0.6,0.2-1,0.2 c-0.7,0-1.3-0.2-1.8-0.7c-0.5-0.5-0.7-1.1-0.7-1.8c0-1.6,0.3-3.2,0.9-4.6c0.6-1.4,1.5-2.7,2.6-3.8s2.3-1.9,3.8-2.5 c1.4-0.6,3-0.9,4.6-0.9s3.1,0.3,4.6,1c1.4,0.6,2.7,1.5,3.8,2.6s1.9,2.3,2.6,3.8c0.6,1.4,0.9,2.9,0.9,4.5c0,3.2-1.2,6-3.5,8.4 l-3.8,3.5c-1.3,1.3-2,2.7-2,4.3c0,0.7-0.2,1.3-0.7,1.8c-0.5,0.5-1.1,0.7-1.8,0.7s-1.3-0.2-1.8-0.7c-0.5-0.5-0.7-1.1-0.7-1.8 c0-2.9,1.2-5.6,3.5-7.9l3.8-3.6c1.3-1.4,2-2.9,2-4.8c0-0.9-0.2-1.8-0.5-2.6c-0.4-0.8-0.8-1.5-1.5-2.1c-0.6-0.6-1.3-1.1-2.1-1.5 c-0.8-0.4-1.7-0.5-2.6-0.5c-0.9,0-1.8,0.2-2.6,0.5c-0.8,0.4-1.5,0.8-2.1,1.4c-0.6,0.6-1.1,1.3-1.4,2.1 C18.5,15.3,18.3,16.2,18.3,17.2z M28.5,40.9c0,1-0.3,1.8-1,2.5c-0.7,0.7-1.5,1-2.5,1c-1,0-1.8-0.3-2.5-1c-0.7-0.7-1-1.5-1-2.5 c0-1,0.3-1.8,1-2.5c0.7-0.7,1.5-1,2.5-1c1,0,1.8,0.3,2.5,1C28.2,39.1,28.5,40,28.5,40.9z'/>
</g>
</g>
</svg>
</div>
Run Code Online (Sandbox Code Playgroud)
我仍然想检查那个 div,但现在我必须检查它是否有 SVG,而不仅仅是“?”。如何使用 JS 检查 div 中是否有 svg 元素?
仅供参考,我尝试了以下操作,因为我认为它仍然会查找文本,但无济于事......
const fieldText = $('#mydiv').text();
return fieldText.indexOf('svg') !== -1;
Run Code Online (Sandbox Code Playgroud) 我有一个看起来像下面的数组。我想在“ diff”索引中找到编号最小的数组。因此,在这种情况下,我想返回数组[7]。我需要的只是数组编号(即7),而不是其他任何信息。
我知道我可以使用array_column轻松找到最低的数字,但是如何返回总的数组索引7?
[1] => Array
(
[qb] => 7
[rb] => 58
[wr] => 91
[te] => 3
[def] => 11
[diff] => 136
)
[2] => Array
(
[qb] => 21
[rb] => 96
[wr] => 102
[te] => 48
[def] => 15
[diff] => 240
)
[3] => Array
(
[qb] => 23
[rb] => 86
[wr] => 216
[te] => 6
[def] => 32
[diff] => 287
)
[4] => Array
(
[qb] => 30
[rb] …Run Code Online (Sandbox Code Playgroud) 我们正在尝试读取 Marketo 跟踪 cookie 的价值,以帮助在我们的网站上预填写门控资产表格。
此链接首先解释了如何使用 Javascript 读取 cookie 的值(足够简单):
//Function to read value of a cookie
function readCookie(name) {
var cookiename = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(cookiename) == 0) return c.substring(cookiename.length,c.length);
}
return null;
}
//Call readCookie function to get value of user's Marketo cookie
var value = readCookie('_mkto_trk');
Run Code Online (Sandbox Code Playgroud)
然后它解释了如何获取 cookie 的值并通过 Ruby 使用 REST API 调用 Marketo:
#NOTE: …Run Code Online (Sandbox Code Playgroud) 我使用下面的代码创建从本月开始的未来 12 个月的选择下拉列表:
$year=date("Y");
//Current Month
$month = date('m');
$dateObj = DateTime::createFromFormat('!m', $month);
$month0 = $dateObj->format('F');
$monthHTML .= "<option value='$month/$year'>$month0 $year</option>";
//next 11 months
for ($i=1; $i<=11; $i++) {
$month = date('m', strtotime('first day of +'.$i.' month'));
if($month==01) {
$year++;
}
$dateObj = DateTime::createFromFormat('!m', $month);
${"month".$i} = $dateObj->format('F');
$monthHTML .= "<option value='$month/$year'>".${"month".$i}." $year</option>";
}
Run Code Online (Sandbox Code Playgroud)
创建如下输出:
<select id="default-calendar-month" name="default-month">
<option value='01/2018'>January 2018</option><option value='02/2018'>February 2018</option><option value='03/2018'>March 2018</option><option value='04/2018'>April 2018</option><option value='05/2018'>May 2018</option><option value='06/2018'>June 2018</option><option value='07/2018'>July 2018</option><option value='08/2018'>August 2018</option><option value='09/2018'>September 2018</option><option value='10/2018'>October 2018</option><option value='11/2018'>November …Run Code Online (Sandbox Code Playgroud)