我正在尝试使用cURL从同一域上的其他页面登录PunBB论坛.
登录时,cURL会被执行,其初始响应是论坛的"成功登录"页面.但是,当点击该论坛中的任何链接时,没有设置cookie,我已经注销了.
经过一番调查后,我的cookiejar文件提到了登录所需的cookie.如果我在浏览器中手动创建此cookie及其值,我已成功登录并且一切正常.因此存储的cookie值是正确的.
然而,在cookiejar中包含我的cookie名称/值的行被注释掉了.
第一个问题:为什么?第二:如何防止这种行为?
这是我的饼干:
# Netscape HTTP Cookie File
# http://curl.haxx.se/rfc/cookie_spec.html
# This file was generated by libcurl! Edit at your own risk.
www.example.com FALSE / FALSE 0 PHPSESSID 3d7oe6vt3blv3vs3ea94nljcs7
#HttpOnly_www.example.com FALSE / FALSE 1340974408 forum_cookie_e19209 MnwyYWQ4OGViNDI2NjE5MWEwMGZiNGZkNDFmZDY5ZDZhYjM5OTA5NDVjfDEzNDA5NzQ0MDh8OTU0NTExOGZhNWNlNGY5OGMzZDk3MmE0NDlmMWRjNzM3ZjI1NzMxOA%3D%3D
Run Code Online (Sandbox Code Playgroud)
这是我的卷毛电话:
function forumLogin() {
$loginFields = array('req_username' => $_REQUEST['username']
,'req_password' => $_REQUEST['password']
,'form_sent' => "1"
); //and so on
$login = getUrl('http://www.example.com/manager/forum/login.php', 'post', $loginFields);
return $login;
}
function getUrl($url, $method='', $vars='')
{
$ch = curl_init();
if ($method == 'post') {
curl_setopt($ch, …Run Code Online (Sandbox Code Playgroud) 由于我刚开始使用PDO并在偏离简单的查询选择时遇到问题,我想我最好在这里问一下.
代码:
$sDbase = str_replace('`', '', $modx->db->config['dbase']);
$oPdo = new PDO("mysql:host=localhost;dbname=" . $sDbase . ";", $modx->db->config['user'], $modx->db->config['pass']);
$oPdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
if(isset($_POST["search"]))
{
$sSearch = (!empty($_POST["search"])) ? mysql_real_escape_string($_POST["search"]) : "" ;
}
$sSearch = 'beer' ;
$sQry = <<< QRY
SELECT
contentid AS standid
,value AS found
,pagetitle
,published
FROM
modx_site_tmplvar_contentvalues
RIGHT JOIN
modx_site_content
ON
modx_site_content.id = modx_site_tmplvar_contentvalues.contentid
WHERE
( tmplvarid = 41 OR tmplvarid = 40 )
AND
(value LIKE '%:search%'
OR
pagetitle LIKE '%:search%')
AND
published = '1'
ORDER BY …Run Code Online (Sandbox Code Playgroud) 我正在进行一个测验,其中每个问题都有一组单选按钮,如下所示:
<input type="radio" name="quid16" value="answid53" />Answer 1 : foo
<input type="radio" name="quid16" value="answid54" />Answer 2 : bar
<input type="radio" name="quid16" value="answid55" />Answer 3 : joe
<input type="radio" name="quid16" value="answid56" />Answer 4 : blogs
Run Code Online (Sandbox Code Playgroud)
每个组都获得一个id,例如quid16上面的; 这个id是由PHP生成的,不是固定的.
当我验证表单提交时,我需要检查所有组是否都有一个选中的单选按钮.
问题是我事先并不知道群组ID.我该如何解决这个问题?
表:
id | date_in | date_out |
1 | 2016-01-01 12:00:00 | 2016-01-03 12:00:00 |
2 | 2016-01-01 12:00:00 | 2016-01-02 12:00:00 |
Run Code Online (Sandbox Code Playgroud)
我需要一个返回结果的查询:
id | alias
1 | 2016-01-01 12:00:00
2 | 2016-01-01 12:00:00
2 | 2016-01-02 12:00:00
1 | 2016-01-03 12:00:00
Run Code Online (Sandbox Code Playgroud)