Этот код, указанный ниже, отправляет правильный почтовый запрос. Проблема заключается в том, что при назначении неверного имени пользователя и пароля на uname
и pword
соответственно отображается правильный вывод, который «singin1.php
» с сообщением «Wrong Username or Password
» (хранится в $result
), но при правильном имени пользователя и пароле предоставляется мне то же самое «signin1.php» страница. Она не показывает мне санкционированный экран, который я должен получить после входа в систему.Как получить/Перенаправить на следующую страницу после отправки запроса на отправку с использованием cURL в PHP?
<?php
//set POST variables
$url = 'http://computerinfo.in/school/signin1.php';
$fields = array(
'uname' => 'username',
'pword' => 'password',
'submt' => 'Submit'
);
//url-ify the data for the POST
foreach($fields as $key=>$value) { $fields_string[]= $key.'='.$value;}
$fields_items = implode ('&', $fields_string);
//open connection
$ch = curl_init();
//fname%3Dasdf%26lname%3Dsdafasdf%26lolz%3DSubmit
//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_items);
//execute post
$result = curl_exec($ch);
echo "<br>Field Item= "."<br>";
echo $result."=Result"."</br>";
echo curl_errno($ch) . '<br>' .
curl_error($ch);
//close connection
curl_close($ch);
?>
Я хочу знать, если я что-то отсутствует, чтобы получить следующий экран, который я должен см. после обычного входа в систему. Вышеуказанный код присутствует на http://computerinfo.in/school/test.php и код с правильным именем пользователя и паролем присутствует на http://computerinfo.in/school/test1.php
и связь знака в странице http://computerinfo.in/school/signin1.php
Структура signin.php
if(isset($_POST['submt']))
{
if(uname && pword are correct)
{
//creating session using session_start(); and redirection using header;
}
else
{
$message="Wrong Username or Password";
}
signin.php
работает нормально, если я обеспечиваю имя пользователя и пароль вручную.
код, вероятно, основывается на сеансах. Храните и используйте cookie cookie, сделайте первоначальный запрос, чтобы загрузить страницу с формой, получить файл cookie, использовать его с опубликованными данными. – Cheery
Yups, я добавил абстрактный код для страницы signin1.php также в вопросе .... получить файлы cookie и использовать его с опубликованными данными ... можете ли вы дать подсказку, как это сделать, или любой учебник .... Я новичок в cURL. Спасибо – CyberBoy
'и перенаправление с использованием заголовка;' вы должны сообщить CURL, чтобы следовать перенаправлению. 'curl_setopt ($ ch, CURLOPT_FOLLOWLOCATION, true);', но все же, чтобы работать с сеансами, вы должны хранить файлы cookie. – Cheery