Мой PHP код является:Validate PHP Expression
$userAnswers = array( // you would get these values via $_POST["answers"]
"s1" => array(
"q1" => $_POST['S1Q1'],
"q2" => $_POST['S1Q2']
),
"s2" => array(
"q1" => $_POST['S2Q1'],
"q2" => $_POST['S2Q2'],
"q3" => $_POST['S2Q3'],
"q4" => $_POST['S2Q4']
),
"s3" => array(
"q1" => $_POST['S3Q1'],
"q2" => $_POST['S3Q2'],
"q3" => $_POST['S3Q3'],
"q4" => $_POST['S3Q4'],
"q5" => $_POST['S3Q5']
),
);
$q001 = $_POST['S1Q1'];
$q002 = $_POST['S1Q2'];
$q003 = $_POST['S2Q1'];
$q004 = $_POST['S2Q2'];
$q005 = $_POST['S2Q3'];
$q006 = $_POST['S2Q4'];
$q007 = $_POST['S3Q1'];
$q008 = $_POST['S3Q2'];
$q009 = $_POST['S3Q3'];
$q010 = $_POST['S3Q4'];
$q011 = $_POST['S3Q5'];
$savearray = array($q001, $q002, $q003, $q004, $q005, $q006, $q007, $q008, $q009, $q010, $q011);
$_SESSION['annual'] = $savearray;
Я думаю, что это будет слишком утомительно и отнимает много времени, если у меня есть много вопросов, и я вступаю на пост дважды, и думает о том, как заменить второе появление $_POST[]
с чем-то вроде следующего:
$userAnswers[$s][$q]
Будет ли идти в порядке, начиная с $q001
и вперед? Таким образом, $_POST[]
вызывается только один раз.
Так что-то вроде этого:
$q001 = $userAnswers[$s][$q];
$q002 = $userAnswers[$s][$q];
$q003 = $userAnswers[$s][$q];
$q004 = $userAnswers[$s][$q];
$q005 = $userAnswers[$s][$q];
$q006 = $userAnswers[$s][$q];
$q007 = $userAnswers[$s][$q];
$q008 = $userAnswers[$s][$q];
$q009 = $userAnswers[$s][$q];
$q010 = $userAnswers[$s][$q];
$q011 = $userAnswers[$s][$q];
мышления, я мог бы использовать foreach
заявление?
foreach() { }
Посмотрите «петли» на PHP? – meagar
Будьте осторожны, чтобы принимать только значения POST, которые вы ожидаете, - вы захотите сопоставить их с шаблоном или использовать какой-либо другой метод, чтобы проверить, что это ожидаемый вами вход. В противном случае ваш скрипт может быть уязвим для атак SQL-инъекций. –
Так что-то вроде этого: 'trim (strip_tags (stripslashes ($ _ POST ['S1Q1'])));' Хотя они являются переключателями, все-таки сделайте это правильно? Я не использую SQL, просто отправляю сообщение после сравнения ввода с листом ответа. – Si8