 
			
				23.12.2015, 22:24
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 23.12.2015 
					
					
					
						Сообщений: 5
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				Помогите с ajax
			 
			
		
		
		
		помогите разобраться с ajax 
Нужно при отправке текста в бд подгружать новые записи без перезагрузки страницы 
С ajax раньше не работал((
 
Есть функция которая записывает данные в бд function.php
 
	
 
	| 
		 Код: 
	 | 
 
	function bdadd () {
    global $db, $msg, $member_id;
    $textform = htmlspecialchars ( $_POST['txtform'] );
$db -> query ( "INSERT INTO `tablename` ( `username`, `text` ) VALUES ('{$member_id['name']}' , '{$textform}' )" );
$msg['ok'] = "Все ок";
}
$db->query ( "SELECT * FROM `tablename` WHERE `username` = '{$member_id['name']}'" );
while($row = $db->get_array()) {   
   $inform .= "
            <tr>
                <td wight:40px;>{$row['text']}</td>
                <td>{$row['username']}</td>
            </tr>";
} | 
 
	
 
 
генерация шаблона index.php
 
	
 
	| 
		 Код: 
	 | 
 
	
    if ( isset ( $_POST['bdadd'] ) ) {
        host ( $_POST['txtform'] );
    }
        ob_start();
    include CABTPL . '/index.html';
$content = ob_get_clean(); | 
 
	
 
 
Ну и собственно сам шаблон index.html
 
	
 
	| 
		 Код: 
	 | 
 
	<form action="" method="post">
        <input type="text" class="nick_text" name="textform" placeholder="Введите текст">
        <button class="menu-elem" name="bdadd">Отправить</button>
        </form>
  
 
    <table class="table">
    <tr>
            <td><b>Текст</b></td>
            <td><b>Ник</b></td>
        </tr>
<?=$inform?>
</table> | 
 
	
 
 
 
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось Mr.Freeman, 25.12.2015 в 00:52.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				24.12.2015, 05:55
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 $textform = htmlspecialchars ( $_POST['txtform'] ); - зачем? 
 
jQuery используется на сайте? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				25.12.2015, 00:20
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 23.12.2015 
					
					
					
						Сообщений: 5
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от laimas
			 
		
	 | 
 
	
		$textform = htmlspecialchars ( $_POST['txtform'] ); - зачем? 
 
jQuery используется на сайте?
	 | 
 
	
 
 Да  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				25.12.2015, 00:27
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Ну тогда  Ajax, это просто. А htmlspecialchars выбросить в коде, его стоит применять при выводе данных из базы, а не при записи. А данные помещаемые в базу нужно экранировать, чего у вас не видно.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				25.12.2015, 00:31
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 23.12.2015 
					
					
					
						Сообщений: 5
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от laimas
			 
		
	 | 
 
	| 
		Ну тогда Ajax, это просто. А htmlspecialchars выбросить в коде, его стоит применять при выводе данных из базы, а не при записи. А данные помещаемые в базу нужно экранировать, чего у вас не видно.
	 | 
 
	
 
 Помогите мне с данным скриптом пожалуйста. Я просто только начинаю изучать php  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				25.12.2015, 00:49
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 23.12.2015 
					
					
					
						Сообщений: 5
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Ребята помогите кто 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				25.12.2015, 01:01
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Ajax собственно не относится к РНР, это в общем асинхронный обмен с сервером. По ссылке все таки почитайте, пригодится, и на jQ это просто. 
Например если для вашей страницы и все формы отправляются одним и тем же асинхронным запросом, то в самом простейшем случае это так:
 
$(function() {
    $('form').submit(function() {
        $.post("URL запроса", $(this).serialise(), function(rq) {
            //rq будет содержать ответ сервера
        })  
        return false;
    });
});
Но форм может быть и несколько, и не обязательно все отправляются асинхронно, а значит формам нужно давать идентификаторы, чтобы обращаться к ним. И не все формы могут делать запрос по одному и тому же URL, а значит его нужно помещать в action формы, чтобы извлекать и подставлять в Ajax запрос.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				25.12.2015, 01:09
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 23.12.2015 
					
					
					
						Сообщений: 5
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от laimas
			 
		
	 | 
 
	
		Ajax собственно не относится к РНР, это в общем асинхронный обмен с сервером. По ссылке все таки почитайте, пригодится, и на jQ это просто. 
 
Например если для вашей страницы и все формы отправляются одним и тем же асинхронным запросом, то в самом простейшем случае это так: 
 
$(function() {
    $('form').submit(function() {
        $.post("URL запроса", $(this).serialise(), function(rq) {
            //rq будет содержать ответ сервера
        })  
        return false;
    });
});
 
 
Но форм может быть и несколько, и не обязательно все отправляются асинхронно, а значит формам нужно давать идентификаторы, чтобы обращаться к ним. И не все формы могут делать запрос по одному и тому же URL, а значит его нужно помещать в action формы, чтобы извлекать и подставлять в Ajax запрос.
	 | 
 
	
 
 Я понял только то что я тупица как не крутил к скрипту не прикрутил(( 
.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				25.12.2015, 01:35
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Я вам давал ссылку, там описаны несколько методов асинхронных запросов, это непосредственно $.ajax, и несколько упрощенных, на одном из которых и написан пример. Может быть сперва уяснить как это работает на простейшем примере, если уж учится, а не "прикручивать" пример к своему коду? 
Ведь в вашем случае форме не указан action, а значит она будет отправлена скрипту родителю, то есть в примере кода моего можно смело написать $.post(location, .... то есть текущий адрес. Но где в вашем приведенном коде непосредственно примем формы? Ведь если запрос асинхронный и не будет его обработки и возврата результата после чего выход, то клиенту вернется вся страница, ее html код. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |