@smolikk

Ajax и PHP. Как правильно настроить?

Добрый день.
В программировании сайтов я новичок. Весь день бьюсь с тем, чтобы настроить правильное получение результата PHP-скрипта на странице без ее обновления. Что я только не пробовал уже менять. Прошу вашей помощи, как правильно настроить вывод результата на это же странице?

Index.php:

<html>
 <body>

<center>
 
<form method="POST" action="getlink.php">
     Ссылка:
 <input type="url" name="site" required>
<br>
     Кол-во символов:
 <input type="number" name="name" value="3" min="1" max="5" required>
     <br>
     <input type="submit" name="okbutton" value="OK">
</form>

</center>

   </body>
   </html>


getlink.php:

<?

$err_message = ''; // Присваивает пустое значение переменной сообщения 

  $url = $_POST['site'] ;
    $max = $_POST['name'] ;; 

if (empty($url)) { 
    $err_message .= "<center>Нет ссылки. <br> <a href='http://site.ru/l/'>Создать новую ссылку.</a></center>"; 
} 




if (empty($err_message)) {

    $chars = 'qazxswedcvfrtgbnhyujmkiolp1234567890QAZXSWEDCVFRTGBNHYUJMKIOLP';

    $size = StrLen($chars)-1;
    $password = null; 
    while($max--) 
    $password.= $chars[rand(0,$size)];



echo 
"<center> 
Ссылка: 
<hr><font face=verdana color=red size=7><b><a href='http://site.ru/l/".$password."' target='_blank'>http://siteru/l/".$password."</a></b></font><hr> 
<a href='http://site.ru/l/'>Создать новую ссылку.</a></center>"; 



  $file = fopen ("links.ini","a+");

  $c = '	= ';
  $f = $password . $c . '"' . $url . '"';
  fwrite ( $file, "\n".$f);
  echo nl2br(file_get_contents('links.ini'));
  fclose($file);

}

// Выдает сообщения о пустых полях, если такие есть 
else { 
    print $err_message; 
} 

?>


Прошу прощения за то, что код очень кривой, как я уже сказал, я не силен в этом, срочно понадобилось написать подобный скрипт для сокращения ссылок, собирал из всего, что нашел в инете.
  • Вопрос задан
  • 111 просмотров
Решения вопроса 1
@smolikk Автор вопроса
Спасибо, сам разобрался.

Решение для поисковиков:
Index.php:
<html>
<head>
<title>Укорачиватель ссылок</title>

<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.min.js"></script>

<script type="text/javascript" language="javascript">
 	function call() {
 	  var msg   = $('#formx').serialize();
        $.ajax({
          type: 'POST',
          url: 'getlink.php',
          data: msg,
          success: function(data) {
            $('#results').html(data);
          },
          error:  function(xhr, str){
	    alert('Возникла ошибка: ' + xhr.responseCode);
          }
        });
 
    }
</script>

</head>
 <body>
<br>
<br>
<center>
 
<form method="POST" id="formx" action="javascript:void(null);" onsubmit="call()">
<legend>Укорачиватель</legend>
<label for="name">Ссылка:</label><input id="name" name="site" value="" type="url" required>
<br>
<br>
<label for="email">Кол-во символов:</label><input id="email" name="name" value="3" type="number" min="1" max="5" required>
<br>
<br>
<input value="Укоротить!" type="submit">
</form>
<br>
<br>
<br>
<div id="results"></div>

</center>

   </body>
   </html>


В getlink.php ничего меня не нужно.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы