Я новичок в кодировании и многому научился за последние 12 месяцев, используя S/O, поэтому я хотел бы сказать спасибо за то, что помог мне, и любой вклад более чем оценен.
Я создал регистрационную форму на 4 страницы, которая состоит из следующего процесса:
1. index.php (Главная страница/Страница назначения с входными значениями формы) 2. page2.php (Выбрать дату, время и подтвердить встречу) 3. page3.php (подтвержденное бронирование, пожалуйста, выберите ближайшее местонахождение, опрос и обслуживание) 4. SSL Страница платежей с вставкой iframe от стороннего участника
на page3.php я вставил внутренний iframe, размещенный на том же сервере, используя отдельные файлы css, js, ect. Поэтому из-за моего отсутствия навыков кодирования мне стало проще вставлять iframe, а не объединять страницу как 1 полная страница.
Теперь на всех страницах мне удалось получить переменные $ _POST, переходящие со страницы 1 → 2 → 3 Но на странице 3 я не могу получить все переменные, отображаемые в скрытых вводах iframe. Я не могу понять, почему только некоторые из них отображаются, а другие - нет. Когда форма отправляется, единственные, которые проходят, - это те, которые вы видите скрытыми в исходном коде.
я также пытался сделать следующее:
Вставить <?php session_start();?>
вверху страницы
и внизу страницы у меня есть:
<?php
$_SESSION['Name']=$_POST['Name'];
$_SESSION['Postcode']=$_POST['Postcode'];
$_SESSION['Building']=$_POST['Building'];
$_SESSION['EmailAddress']=$_POST['EmailAddress'];
$_SESSION['Telephone']=$_POST['Telephone'];
$_SESSION['datepicker']=$_POST['datepicker'];
$_SESSION['timeofsurvey']=$_POST['timeofsurver'];
$_SESSION['PropertyOwner']=$_POST['PropertyOwner'];
?>
У меня есть эти данные на каждой странице, чтобы убедиться, что они проходят через каждую страницу. Все входные данные ['names'] верны и на той же странице, где iframe - они отображаются обратно пользователю в текстовое поле справа iframe в основном, чтобы показать пользователю, что их информация верна при бронировании их назначения.
Вот мой исходный код формы iframe:
<div id="app" my-app my-controller="Controller">
<form action="Processing.php" id="regForm" name="regForm" method="post">
<input type="hidden" value="<?php echo $_SESSION['Name'];?>" name="Full Name">
<input type="hidden" value="<?php echo $_SESSION['Telephone'];?>" name="Telephone">
<input type="hidden" value="<?php echo $_SESSION['EmailAddress'];?>" name="Email">
<input type="hidden" value="<?php echo $_SESSION['Building'];?> " name="Building Number or Name">
<input type="hidden" value="<?php echo $_SESSION['Postcode'];?>" name="Postcode">
<input type="hidden" value="<?php echo $_SESSION['PropertyOwner'];?>" name="PropertyOwner">
<input type="hidden" value="<?php echo $_POST['datepicker'];?>" name="Survey Date">
<input type="hidden" value="<?php echo $_POST['timeofsurvey'];?>" name="Survey Time">
Единственными скрытыми переменными, которые не отображаются, являются следующие:
['Name']
['EmailAddress']
['datepicker']
['timeofsurvey']
Все остальные переменные отображаются точно. Как я уже сказал, даже страница, на которой вставлен iframe, также корректно отображает все переменные пользователю. Если вы нажмете, чтобы просмотреть исходный код страницы, вы увидите их в порядке... Затем, как только вы просмотрите внутренний исходный код iframe, вы увидите, что перечисленные выше переменные отсутствуют.
Это результат просмотра исходного кода iframe:
<div id="app" my-app my-controller="Controller">
<form action="Processing.php" id="regForm" name="regForm" method="post">
<input type="hidden" value="" name="Full Name"> **<----- This input is missing**
<input type="hidden" value="0123456789" name="Telephone">
<input type="hidden" value="" name="Email"> **<------- This input is missing**
<input type="hidden" value=" " name="Building Number or Name">
<input type="hidden" value="NW1 1AA" name="Postcode">
<input type="hidden" value="Yes" name="PropertyOwner">
<input type="hidden" value="" name="Survey Date"> **<--- This input is missing**
<input type="hidden" value="" name="Survey Time"> **<--- This input is missing**
<input type="hidden" name="field_passthrough1" value="Consumer" />
<input type="hidden" name="field_passthrough2" value="en-UK" />
Надеюсь, я не проделал длинный путь здесь, пытаясь объяснить, так как я понимаю, что многие из вас, ребята, очень заняты, чтобы читать длинные сообщения, такие как мои, когда это будет что-то очень просто. Я потратил 2 дня на все сортирует, чтобы заставить это работать, и я не могу найти способ обойти это.
Я бы очень признателен за любую помощь, ребята, спасибо.
############# ОБНОВЛЕНИЕ К ЛАМОНДУ ################
Вот как у меня теперь есть iframe, и единственные поля, которые сейчас отсутствуют, это:
['Name']
['EmailAddress']
['Building']
---> ['datepicker'] и ['timeofsurvey'] теперь работают...
<input type="hidden" value="<?php echo $_SESSION['Name'];?>" name="Name">
<input type="hidden" value="<?php echo $_SESSION['Telephone'];?>" name="Telephone">
<input type="hidden" value="<?php echo $_SESSION['EmailAddress'];?>" name="EmailAddress">
<input type="hidden" value="<?php echo $_SESSION['Building'];?> " name="Building">
<input type="hidden" value="<?php echo $_SESSION['Postcode'];?>" name="Postcode">
<input type="hidden" value="<?php echo $_SESSION['PropertyOwner'];?>" name="PropertyOwner">
<input type="hidden" value="<?php echo $_SESSION['datepicker'];?>" name="datepicker">
<input type="hidden" value="<?php echo $_SESSION['timeofsurvey'];?>" name="timeofsurvey">
Вот исходный вид на page3.php iframe:
<input type="hidden" value="" name="Name">
<input type="hidden" value="07541258585" name="Telephone">
<input type="hidden" value="" name="EmailAddress">
<input type="hidden" value=" " name="Building">
<input type="hidden" value="saas" name="Postcode">
<input type="hidden" value="No" name="PropertyOwner">
<input type="hidden" value="21/01/2015" name="datepicker">
<input type="hidden" value="4:30 pm" name="timeofsurvey">
У вашего $ _POST будет одно и то же имя.
Итак: $ _POST ['Name']! = $ _POST ['Полное имя'];
Это почти одинаково для каждого входного файла, который отсутствует.
Также вы не должны использовать пробелы в именах ввода