решено: добавлено несколько java в код страницы 1 для чтения параметров URL, а затем изменен код Ajax следующим образом:
var d = gup( 'd' );
new Ajax.Request('new_respondent_role_video.php?d=' + d,
Спасибо всем вам за помощь.
РЕДАКТИРОВАТЬ:
Новый URL-адрес, по которому пользователь нажимает для доступа к сайту, выглядит следующим образом:
http://www.xyv.com/ttt/index.php?r=1&d=2010-11-24
Этот URL-адрес содержит переменную даты d
- мне нужно передать ее черезФункция, так что она добавляется в базу данных.
Надеюсь, что это имеет немного больше смысла?
H.
Привет,
Я надеюсь, что некоторые могут помочь,Я унаследовал следующий код на нескольких страницах, и меня попросили внести некоторые изменения в код, подробно описанный ниже, но я действительно изо всех сил.
URL для страницы 1
http://www.xyv.com/ttt/index.php?r=1
Страница 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>
Эта страница указывает на сценарий входа в зависимости от r в URL.
код 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;
?>
Возвращает responsedent_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);
}
Добавляет нового пользователя и затем возвращает идентификатордля этого пользователя.
Что нужно
Мне нужно добавить еще одну переменную в URL, например,
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
, я не могу заставить страницы передать эту переменную в функцию и, таким образом, добавить переменную даты d
в базу данных.
Любая помощь, идеи, предложения приветствуются.
Полностью признателен, что это не самое лучшее / простое, но если кто-то может помочь .... очень ценится.
Гомер.