Всем привет.
Есть у одного хостинга свое api - прикрутил и вроде бы всё ок но(!)
После ввода данных в форму и нажатия сабмит вроде бы всё ок. Ответы от сервера API приходят нормально (либо error либо success).
Вот html форма:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>form</title>
<link rel="stylesheet" href="css/style.css" media="screen" type="text/css" />
</head>
<body>
<div id="login">
<div class="flip">
<div class="form-signup">
<h1>Регистрация email</h1>
<fieldset>
<p class="login-msg"></p>
<form name="mail" method="post" action="mail.php" >
<center>
<input id="email" type="text" name="email" required placeholder="Введите email" pattern="^[a-zA-Z0-9]+$" title="Только цифры и латинские буквы в верхнем и нижнем регистре"}/>
<select id="domains">
<option>@system-neo.com</option>
<option>@clicin.de</option>
</select><br>
<input type="hidden" id="mailbox" name="mailbox" />
<script type="text/javascript">
email.addEventListener('input', joinValues, false);
domains.addEventListener('input', joinValues, false);
function joinValues(){
mailbox.value = email.value + domains.value;
}
</script>
<input type="password" name="password" placeholder="Ваш сложный пароль..." pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}" title="Не менее восьми символов, содержащих хотя бы одну цифру и символы из верхнего и нижнего регистра" required />
<input type="submit" name="vsubmit" value="Далее" /></center>
</form>
</div>
</div>
</div>
</body>
</html>
<?php
$fields = array(
'auth_login' => "q",
'auth_token' => "c",
'class' => "hosting_mailbox",
'method' => "create",
'account' => "c",
'mailbox' => $_POST['mailbox'],
'password' => $_POST['password'],
);
$fields_string = "";
foreach($fields as $key => $value) {
$fields_string .= $key.'='.urlencode($value).'&';
}
rtrim($fields_string, '&');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://asd/api.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, count($fields));
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch);
$response = curl_exec($ch);
curl_close($ch);
$json_string = 'https://asd/api.php';
$jsondata = file_get_contents($json_string);
$response = json_decode($response,true);
echo "<pre>";
print_r($response);
?>
Как это выглядит:
Т.е. меня перенаправляет с
192.168.0.117/new на
192.168.0.117/new/mail.php
Теперь хочу седлать так, что бы при нажатии "submit" проверялось значение
print_r($response);
сейчас оно выводится на экран в браузере(см. IMG), а мне надо проверить его средствами php и при условии
success перенаправлять например на /new/skype.html, а при [b]error[/b] очищать поля в форме и выводить popup на странице формы с ошибкой от
print_r($response);
Пытался сделать так:
if ($response == "хз как опредялять success в $response") {$redirect_url = "/new/skype.html";}
else {$redirect_url = "/new";}
header('HTTP/1.1 200 OK');
header('Location: http://'.$_SERVER['HTTP_HOST'].$redirect_url);
exit();
Думал парсить страницу... но по-моему это п*ц плохо(
Не знаю как выйти из ситуации. Может кто-то что-то подскажет:)