Я только что создал форму, и я столкнулся с проблемой при отправке.
Пример:
Здесь у меня есть ссылка на edit.php, где я получаю всю информацию по этой ссылке.
index.php
<a href="change/info/edit.php?url= '
. $row['url']
.'&title='. $row['title']
.'&info='. $row['info']
.'&name='. $row['name']
.'&date='. $row['date'] .' " target="_blank">Edit</a>
Здесь я получаю всю информацию из index.php, как это здесь ниже:
edit.php:
<?php echo $_GET["title"]; ?>
<?php echo $_GET["info"]; ?>
<?php echo $_GET["date"]; ?>
<?php echo $_GET["name"]; ?>
<?php echo $_GET["url"]; ?>
РЕДАКТИРОВАТЬ: Арес Драгуна
<?php session_start();
if(isset($_POST['Submit'])){
// code for check server side validation
if(empty($_SESSION['captcha_code'] ) || strcasecmp($_SESSION['captcha_code'], $_POST['captcha_code']) != 0){$msg='<span class="fail">Please try again.</span>';// Captcha verification is incorrect.
}else{// Captcha verification is Correct. Final Code Execute here!
}
}
Но когда я нажимаю кнопку «Отправить», и капча ложна, обновление страницы происходит, и я теряю всю информацию, я должен вернуться в браузер, чтобы снова увидеть всю информацию.
Так что же мне нужно, чтобы сохранить информацию, когда нажмете кнопку отправки и капча ложна.
Заранее спасибо !
Чтобы сохранить информацию в форме, вы можете установить некоторые переменные сеанса, такие как:
$_SESSION['title'] = $_GET["title"];
$_SESSION['info'] = $_GET["info"];
и так далее … и проверить это:
if(capcha == false) {
//do something
} else {
//unset the session variables
}
В этом случае, если capcha имеет значение false, вы можете заполнить входные данные формы тем, что у вас есть в сеансе, так что даже после перезагрузки страницы у вас все еще будет храниться эта информация. Если капча верна, то не забудьте сбросить переменные сессии.
Однако, если обновляется та же страница, это означает, что у вас есть значения в $ _GET, чтобы вы могли использовать их без проблем. Это действительно зависит от того, как структурирован ваш код.
L.E:
if(isset($_POST['Submit'])){
$_SESSION['captcha_code'] = $_GET['captcha_code'];
$_SESSION['other_info'] = $_GET['other_info'];
// code for check server side validation
if(empty($_SESSION['captcha_code'] ) || strcasecmp($_SESSION['captcha_code'], $_POST['captcha_code']) != 0){
$msg='<span class="fail">Please try again.</span>';// Captcha verification is incorrect.
}else{
// Captcha verification is Correct. Final Code Execute here!
}
}
А в файле представления проверьте переменные сеанса, чтобы установить переменные сеанса, если isset submit post.
Надеюсь, поможет!
Продолжайте кодировать!
Арес.
Других решений пока нет …