已解决:在页面1代码中添加了一些java来读取URL参数,然后按如下方式修改了Ajax代码:
var d = gup( 'd' );
new Ajax.Request('new_respondent_role_video.php?d=' + d,
感谢大家的帮助。
编辑:
用户点击访问该网站的新网址如下:
http://www.xyv.com/ttt/index.php?r=1&d=2010-11-24
此URL包含d
日期变量 - 我需要通过函数传递它,以便将其添加到数据库中。
希望更有意义吗?
小时。
您好,
我希望有人可以提供帮助。我在多个页面上继承了以下代码,并且我被要求对代码进行一些修改,详细说明如下,但我真的很挣扎。
第1页的网址
http://www.xyv.com/ttt/index.php?r=1
Page 1
<?php include_once("db.inc.php");
//$i = 2;
$i = $_GET['r'];
if ($i == 1) {
include("_inc/login_script_role_video.php");
echo "<h1>Loading questionnaire please wait.</h1>";
}else if($i == 2){
include("_inc/login_scriptm_role_video.php");
echo "<h1>Loading questionnaire please wait.</h1>";
}else if($i == 3){
include("_inc/login_scriptd_role_video.php");
echo "<h1>Loading questionnaire please wait.</h1>";
}else{
echo "<h1>You have tried to access the survey without a correct id, ",
"please refer to your invitation email.</h1>";
}
//echo $i;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title><?php include("_inc/title.php"); ?></title>
<link rel="stylesheet" type="text/css" href="main.css" />
<script src="main.js" type="text/javascript"></script>
<script src="javascripts/scriptaculous.shrunk.js"
type="text/javascript" charset="ISO-8859-1"></script>
</head>
<body onload="startSurvey();">
</body>
</html>
此页面将根据URL中的r指向登录脚本。
startSurvey代码
function startSurvey(){
/* var respondent_id = document.getElementById('respondent_id').value;
if(1==0) { if open survey, use respondent_id.length==0*/
new Ajax.Request('new_respondent_role_video.php',
{
method:'get',
onSuccess: function(transport){
var respondent_id = transport.responseText;
window.location='prog-role-video.php?r=' + respondent_id;
},
onFailure: function(){
Effect.Appear('problem');
}
});
}
打开另一个文件,将响应者添加到数据库,然后重新定向用户。
新的受访者档案
<?php
include_once("db.inc.php");
$respondent_id = new_respondent_role_video();
header("Content-type: text/plain");
echo $respondent_id;
?>
返回respondent_id以保证对网站的访问权限可以继续
SQL代码
function new_respondent_role_video() {
$d = $_GET['d'];
global $link;
$proc = mysqli_prepare($link, "INSERT INTO trespondent ".
"(code, link, role, course, page, dates) ".
"VALUES (uuid(), 'http://www.1.xyc.co.uk/tmg/prog-role-video.php?r=', ".
"'STAFF', 'story telling', '8', '2010-10-10');");
mysqli_stmt_execute($proc);
$id = mysqli_insert_id($link);
mysqli_stmt_fetch($proc);
mysqli_stmt_close($proc);
mysqli_clean_connection($link);
global $link;
$proc = mysqli_prepare($link, "SELECT code FROM trespondent ".
"WHERE respondent_id = ?");
mysqli_stmt_bind_param($proc, "i", $id);
mysqli_stmt_execute($proc);
mysqli_stmt_bind_result($proc, $code);
mysqli_stmt_fetch($proc);
mysqli_stmt_close($proc);
mysqli_clean_connection($link);
return($code);
}
添加新用户,然后返回该用户的ID。
需要什么
我需要在网址中添加另一个变量,就像这样
http://www.xyv.com/ttt/index.php?r=1&d=2010-11-24
然后我需要将该变量d
传递给添加新用户代码,因此它将日期添加到数据库的日期字段中,如下所示:
$d = $_GET['d'];
$proc = mysqli_prepare($link, "INSERT INTO trespondent_tmg ".
"(code, link, role, course, page, dates) VALUES (uuid(), ".
"'http://www.1.xyz.co.uk/xyz/prog-role-video.php?r=', ".
"'STAFF', 'The role of video in multi-media story telling', '8', '$d');");
无论我在哪里放置$GET
代码,我都无法将页面传递给Function,从而将d
日期变量添加到数据库中。
欢迎任何帮助,想法和建议。
完全明白这不是最好/最简单但如果有人可以提供帮助......非常感谢。
荷马。
答案 0 :(得分:2)
您可能只需要更改以下行以包含您的d变量(除非您还没有提及其他一些内容):
new Ajax.Request('new_respondent_role_video.php'
即。
new Ajax.Request('new_respondent_role_video.php?d=2010-11-25'