Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.02.2016, 08:57
Аспирант
Отправить личное сообщение для olegalimov Посмотреть профиль Найти все сообщения от olegalimov
 
Регистрация: 27.09.2015
Сообщений: 94

Открытие окна на авторизацию?
Доброе все суток.
Добрые люди помогите пожалуйста.
Как сделать чтоб ссылка открывалась в этом же окне или в новом окне браузера?
выложу два кода html и php, где моя ошибка?
index.html
<!doctype html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<form action="ispmgr.php" method="get">
<table width="400px">
<tr>
<td>Панель управления</td>
</tr>
<tr>
<td ><input name="login" type="text" placeholder="Username" /></td>
</tr>
<tr>
<td><input name="pass" type="password" placeholder="Password" /></td>
</tr>
<tr>
<td><input class="button" type="submit" value="Вход"/></td>
</tr>
</table>
</form>
</body>
</html>

ispmgr.php
<?php
$login=@$_GET['login'];
$pass=@$_GET['pass'];
if (!empty($login)) {
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://webvm.ru:1500/ispmgr?out=xml&func=auth&username='.$login.'&password='.$pass);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
$res = curl_exec($curl);
if(!$res) {
echo '<script language="javascript"> window.location="https://webvm.ru:1500/ispmgr?&func=auth&username='.$login.'&password='.$pass.'";</script>';
}
else {
$doc = new SimpleXMLElement($res);
foreach ($doc->auth as $id) {
echo '<script language="javascript"> window.location="https://webvm.ru:1500/ispmgr?auth='.$id['id'].'";</script>';
}
foreach ($doc->error as $type) {
echo '<script language="javascript"> window.location="https://webvm.ru:1500/ispmgr?&func=auth&username='.$login.'&password='.$pass.'";</script>';
}
}
curl_close($curl);
}
?>

помогите разобраться что не так? почему не работает.
Ответить с цитированием
  #2 (permalink)  
Старый 22.02.2016, 09:36
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

olegalimov,
а через header('Location') ?
Ответить с цитированием
  #3 (permalink)  
Старый 22.02.2016, 15:35
Аспирант
Отправить личное сообщение для olegalimov Посмотреть профиль Найти все сообщения от olegalimov
 
Регистрация: 27.09.2015
Сообщений: 94

Сообщение от destus Посмотреть сообщение
olegalimov,
а через header('Location') ?
Поясните пожалуйста!
Ответить с цитированием
  #4 (permalink)  
Старый 22.02.2016, 15:41
Аспирант
Отправить личное сообщение для olegalimov Посмотреть профиль Найти все сообщения от olegalimov
 
Регистрация: 27.09.2015
Сообщений: 94

в коде нет ошибок. проблема с отображением.
Ответить с цитированием
  #5 (permalink)  
Старый 22.02.2016, 16:15
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

Сообщение от olegalimov Посмотреть сообщение
Поясните пожалуйста!
Ну просто редиректить юзера после авторизации, посредством отправки заголовка. Т.е. не писать echo "script" и тд, а засунуть ссылку в Location. http://php.net/manual/ru/function.header.php.
Ответить с цитированием
  #6 (permalink)  
Старый 22.02.2016, 18:57
Аспирант
Отправить личное сообщение для olegalimov Посмотреть профиль Найти все сообщения от olegalimov
 
Регистрация: 27.09.2015
Сообщений: 94

написал вот так, не работает
$res = curl_exec($curl);
if(!$res) {
	header("Location: https://webvm.ru:1500/ispmgr?&func=auth&username='.$login.'&password='.$pass.'"); /* Перенаправление броузера */
//echo '<script language="javascript"> window.location="https://webvm.ru:1500/ispmgr?&func=auth&username='.$login.'&password='.$pass.'";</script>';
}
else {
$doc = new SimpleXMLElement($res);
foreach ($doc->auth as $id) {
		header("Location: https://webvm.ru:1500/ispmgr?auth='.$id['id'].'"); /* Перенаправление броузера */
//echo '<script language="javascript"> window.location="https://webvm.ru:1500/ispmgr?auth='.$id['id'].'";</script>';
}
foreach ($doc->error as $type) {
			header("Location: https://webvm.ru:1500/ispmgr?&func=auth&username='.$login.'&password='.$pass.'"); /* Перенаправление броузера */
//echo '<script language="javascript"> window.location="https://webvm.ru:1500/ispmgr?&func=auth&username='.$login.'&password='.$pass.'";</script>';
}
}
curl_close($curl);
}
?>
Ответить с цитированием
  #7 (permalink)  
Старый 22.02.2016, 19:08
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

olegalimov,
Проблема с кавычками. Не так
header("Location: https://webvm.ru:1500/ispmgr?&func=auth&username='.$login.'&password='.$pass.'");
а так
header("Location: https://webvm.ru:1500/ispmgr?&func=auth&username=".$login."&password=".$pass);
и непонятно, почему после ispmgr? идет сразу знак амперсанда. Если ispmgr имя скрипта, то логичнее будет так
header("Location: https://webvm.ru:1500/ispmgr?func=auth&username=".$login."&password=".$pass);


Ну и остальные ссылки поправить.
Ответить с цитированием
  #8 (permalink)  
Старый 23.02.2016, 09:44
Аспирант
Отправить личное сообщение для olegalimov Посмотреть профиль Найти все сообщения от olegalimov
 
Регистрация: 27.09.2015
Сообщений: 94

исправил, не работает! пишет, ошибка сервера 500!
<?php
$login=@$_GET['login'];
$pass=@$_GET['pass'];
if (!empty($login)) {
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://my.webvm.ru/ispmgr?out=xml&func=auth&username='.$login.'&password='.$pass);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
$res = curl_exec($curl);
if(!$res) {
    header("Location: https://my.webvm.ru/ispmgr?func=auth&username=".$login.'&password='.$pass); /* Перенаправление броузера */
}
else {
$doc = new SimpleXMLElement($res);
foreach ($doc->auth as $id) {
        header("Location: https://my.webvm.ru/ispmgr?auth=".$id['id']); /* Перенаправление броузера */
}
foreach ($doc->error as $type) {
            header("Location: https://my.webvm.ru/ispmgr?func=auth&username=".$login.'&password='.$pass); /* Перенаправление броузера */
}
}
curl_close($curl);
}
?>
Ответить с цитированием
  #9 (permalink)  
Старый 23.02.2016, 11:47
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

olegalimov,
добавить расширение скрипта
header("Location: [url]https://my.webvm.ru/ispmgr.php?[/url]...)

добавить
exit()
после header. Ну или спрашивать на специализированных форумах php
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
fancybox повторное открытие окна! baryshkov jQuery 4 16.06.2015 06:42
Плавное открытие окна. Flashton Элементы интерфейса 3 20.10.2010 16:00
Открытие нового окна без скролбаров без верхнего бара "файл правка вид и тп" Mara Общие вопросы Javascript 2 18.02.2010 15:11
Медленное открытие окна m00 Общие вопросы Javascript 2 02.02.2010 08:23
Открытие _blank окна onejsquestion Общие вопросы Javascript 3 16.09.2009 18:41