Javascript 必须使用JS/JQ(?)触发PHP表单数据
是否可以在不进入页面的情况下运行php文件/函数? 我的意思是,如果你创建了一个聊天应用程序,当你提交信息时,整个页面都会被重新加载,这真是令人不安 我尝试过AJAX,但没有成功。是否无法将Javascript 必须使用JS/JQ(?)触发PHP表单数据,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,是否可以在不进入页面的情况下运行php文件/函数? 我的意思是,如果你创建了一个聊天应用程序,当你提交信息时,整个页面都会被重新加载,这真是令人不安 我尝试过AJAX,但没有成功。是否无法将聊天区的文本发布到PHP文件 <form action="..." method="POST"> <textarea id="chat_area" name="chat_text" cols="50" rows="1"></textarea> <inp
聊天区的文本发布到PHP文件
<form action="..." method="POST">
<textarea id="chat_area" name="chat_text" cols="50" rows="1"></textarea>
<input id="chat_submit" type="submit" name="submit" value="Posten">
</form>
<?php
session_start();
include_once( "database.php" );
if( $_POST["chat_area"] ){
$name = $_SESSION["firstname"]
$time = "[" . date( "H:i", time() + 3600 ) . "]";
$message = $_POST["chat_area"]
mysql_query( "INSERT INTO chat( name, time, message ) VALUES ('$name', '$time', '$message' )" );
}
?>
这是表单的默认行为。对于类似聊天的应用程序,您应该使用ajax。不仅用于发布表单数据,还用于接收来自后端应用程序的消息。否则,您将不得不重新加载页面,以检查是否有新消息
使用jQuery,您可以停止要触发的表单的默认操作,然后将数据发布到PHP
您应该将应用程序拆分为2个文件。主页和文件,其中所有数据都发送到(和从中接收)
您的前端:
<?php
session_start();
// rest of the PHP, if any...
?>
<form method="POST">
<textarea id="chat_area" name="chat_text" cols="50" rows="1"></textarea>
<input id="chat_submit" type="submit" name="submit" value="Posten">
</form>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js" type="text/javascript"></script>
<script>
$(document).ready(function(){
$('#chat_submit').on('click', function(e){
e.preventDefault();
$.ajax({
type : "POST",
url : 'your_php_file.php',
dataType : 'text',
data :{
message : $('#chat_area').val()
},
success : function(data){
if(data == 'success'){
// E.g.: append the message to chat area after it is successfully stored in DB.
}
},
complete : function(status){
// call on complete
},
error : function(response){
// call when error
}
});
});
});
</script>
$(文档).ready(函数(){
$('chat#u submit')。在('click',函数(e){
e、 预防默认值();
$.ajax({
类型:“POST”,
url:'your_php_file.php',
数据类型:“文本”,
数据:{
消息:$(“#聊天区”).val()
},
成功:功能(数据){
如果(数据==“成功”){
//例如:成功存储在DB中后,将消息追加到聊天区。
}
},
完成:功能(状态){
//拜访
},
错误:函数(响应){
//错误时呼叫
}
});
});
});
PHP(您的\u PHP\u文件.PHP):
不,这不是不可能的!尝试阅读JQuery,还有其他方法吗?我只是在创建聊天,所以必须有一种方法..使用AJAX向服务器发送请求而无需重新加载页面。因此,我正在使用AJAX,是否可以调用php文件中的文本?www.m7-studios.de用户名:test密码:test。。php数据未插入数据库。原始php脚本中的$name=$\u会话[“firstname”]
和$message=$\u POST[“chat\u area”]
后缺少分号。(更新我的答案)谢谢!即使是很小的错误也可能是至关重要的。聊天功能正如您所见。
<?php
session_start();
include_once("database.php");
if( isset($_POST["message"]) ){
$name = $_SESSION["firstname"];
$time = "[" . date( "H:i", time() + 3600 ) . "]";
// a little of safety:
$unsafe_message = trim($_POST["message"]);
$safe_message = mysql_real_escape_string($unsafe_message);
mysql_query
( "INSERT INTO chat( name, time, message )
VALUES
('$name', '$time', '$safe_message' )" ) or die('error');
echo 'success';
}else{
echo 'error';
}
?>