Вводить данные в базе данных, не освежая страницы

Я стараюсь вводить данные о чате в моей базе данных, мой чат я это делаю с php и ajax, так как он не просит столько мощи, у меня есть функция, но оно не функционирует,

это формуляр, который я хочу послать

<form method="POST" onsubmit="return enviar();">
        <textarea name="message" id="message" placeholder="Enter message"></textarea>
        <input type="hidden" id="nombre" name="nombre" placeholder="Name" value="<?php echo $_SESSION['usuario']['nombre']?>">
        <input type="submit" name="submit" value="Send it">

        <input type="hidden" id="myId" name="idReceiver" value="<?php echo $id ?>">
        <input type="hidden" id="idEmitter" name="idEmitter" value="<?php echo $us ?>">
    </form>

это мой function

function enviar(){
            var mensaje = document.getElementById('message').value;
            var nombre = document.getElementById('nombre').value;
            var idEmitter = document.getElementById('myId').value;
            var idReceiver = document.getElementById('idEmitter').value;

            var dataen = 'message='+mensaje +'&nombre='+nombre +'&myId='+idEmitter +'&idEmitter='+idReceiver;

            $.ajax({
                type:'POST',
                url:'inser.php',
                data:dataen
            });
            return false;
        }

и это моя страница php, где я ввожу данные в компьютер в базу данных

<?php 

include 'db.php';
include '../functions.php';

    $name = $_POST['nombre'];
    $message = $_POST['message'];
    $emitter = $_POST['idEmitter'];
    $receiver = $_POST['idReceiver'];

    $query = "INSERT INTO messages (nombre, message, idEmitter, idReceiver, seenUsuario) VALUES ('$name', '$message', '$emitter', '$receiver', '0')";

    $run = $conexion->query($query);


?>

мое намерение и loque мне хочет удасться дело в том, что, в момент которого ввождения, он был введен в базе данных, и что появился в чате

РЕДАКТИРОВАНИЕ

В настоящее время у меня есть мой формуляр, и где я ввожу данные о следующем способе

<?php session_start();

include 'db.php';
include '../functions.php';

$emit = obtener_mensajes($conexion, $us);
$id=$_GET['id'];
var_dump($id);

comprobarSession();

?>
<!DOCTYPE html>
<html>
<head>
    <title></title>
    <link rel="stylesheet" href="style.css">
    <script>

        function getPage(url, from, to) {
            var cached=sessionStorage[url];
            if(!from){from="body";} // default to grabbing body tag
            if(to && to.split){to=document.querySelector(to);} // a string TO turns into an element
            if(!to){to=document.querySelector(from);} // default re-using the source elm as the target elm
            if(cached){return to.innerHTML=cached;} // cache responses for instant re-use re-use

            var XHRt = new XMLHttpRequest; // new ajax
            XHRt.responseType='document';  // ajax2 context and onload() event
            XHRt.onload= function() { sessionStorage[url]=to.innerHTML= XHRt.response.querySelector(from).innerHTML;};
            XHRt.open("GET", url, true);
            XHRt.send();
            return XHRt;
        }

        window.onload(function() {
            setInterval(function(){
            var myId = document.getElementById('myId');
            var url = 'chat.php?id='+myId;
            getPage(url, "body", "chat");
            }, 1000);
        }
    </script>
</head>
<body>

<div id="container">
    <div id="chat_box">
        <div id="chat"><?php require_once 'chat.php'; ?></div>
    </div>
    <form method="POST" action="index.php">
        <textarea name="message" id="message" placeholder="Enter message"></textarea>
        <input type="hidden" id="nombre" name="nombre" placeholder="Name" value="<?php echo $_SESSION['usuario']['nombre']?>">
        <input type="submit" name="submit" value="Send it">

        <input type="hidden" id="myId" name="idReceiver" value="<?php echo $id ?>">
        <input type="hidden" id="idEmitter" name="idEmitter" value="<?php echo $us ?>">
    </form>
<?php 
if (isset($_POST['submit'])) {    $name = $_POST['nombre'];
    $message = $_POST['message'];
    $emitter = $_POST['idEmitter'];
    $receiver = $_POST['idReceiver'];

    $query = "INSERT INTO messages (nombre, message, idEmitter, idReceiver, seenUsuario) VALUES ('$name', '$message', '$emitter', '$receiver', '0')";

    $run = $conexion->query($query);
}

?>
</div>

</body>
</html>

но если я это оставляю таким образом, освежается страница и я теряю несколько данных, что я не хочу именно поэтому, хочу сделать это с ajax

2-ОЕ РЕДАКТИРОВАНИЕ

У предыдущего разума был мой формуляр и способ, в которых они были посланы таким образом, но в пользу других мотивов я был должен менять это на acutal (1-ое редактирование)

function ajax(){
            var req = new XMLHttpRequest();
            req.onreadystatechange = function(){
                if (req.readyState == 4 && req.status == 200) {
                    document.getElementById('chat').innerHTML = req.responseText;
                }
            }

            var myId = document.getElementById('myId');
            var url = 'chat.php?id='+myId;

            req.open('POST', url, true);
            req.send();

        }

        setInterval(function(){
            ajax()
        }, 1000);
2
задан 25.07.2017, 04:27
1 ответ

HTML: botГіn будь должен состоять type = "button", с этим не envГ - в и function посылать в том, чтобы он был onclick.

<form method="POST">
        <textarea name="message" id="message" placeholder="Enter message"></textarea>
        <input type="hidden" id="nombre" name="nombre" placeholder="Name" value="<?php echo 

HTML: botГіn будь должен состоять type = "button", с этим не envГ - в и function посылать в том, чтобы он был onclick.

[110]

Твой JS: Добавляет SUCCESS function, что это напечатал inser.php

function enviar(){
            var mensaje = document.getElementById('message').value;
            var nombre = document.getElementById('nombre').value;
            var idEmitter = document.getElementById('myId').value;
            var idReceiver = document.getElementById('idEmitter').value;

            var dataen = 'message='+mensaje +'&nombre='+nombre +'&myId='+idEmitter +'&idEmitter='+idReceiver;

             $.ajax ({
                type:'POST',
                url:'inser.php',
                data:dataen,
                cache: false,
                success: function(html)
                {
                    $("#chat").html(html);
                }

И despuГ©s в твоем PHP inser.php: В конце концов сделай один я бросаю из mesnaje или того, в чем ты нуждаешься.

include 'db.php';
include '../functions.php';

    $name = 

HTML: botГіn будь должен состоять type = "button", с этим не envГ - в и function посылать в том, чтобы он был onclick.

[110]

Твой JS: Добавляет SUCCESS function, что это напечатал inser.php

[111]

И despuГ©s в твоем PHP inser.php: В конце концов сделай один я бросаю из mesnaje или того, в чем ты нуждаешься.

[112]POST['nombre']; $message =

HTML: botГіn будь должен состоять type = "button", с этим не envГ - в и function посылать в том, чтобы он был onclick.

[110]

Твой JS: Добавляет SUCCESS function, что это напечатал inser.php

[111]

И despuГ©s в твоем PHP inser.php: В конце концов сделай один я бросаю из mesnaje или того, в чем ты нуждаешься.

[112]POST['message']; $emitter =

HTML: botГіn будь должен состоять type = "button", с этим не envГ - в и function посылать в том, чтобы он был onclick.

[110]

Твой JS: Добавляет SUCCESS function, что это напечатал inser.php

[111]

И despuГ©s в твоем PHP inser.php: В конце концов сделай один я бросаю из mesnaje или того, в чем ты нуждаешься.

[112]POST['idEmitter']; $receiver =

HTML: botГіn будь должен состоять type = "button", с этим не envГ - в и function посылать в том, чтобы он был onclick.

[110]

Твой JS: Добавляет SUCCESS function, что это напечатал inser.php

[111]

И despuГ©s в твоем PHP inser.php: В конце концов сделай один я бросаю из mesnaje или того, в чем ты нуждаешься.

[112]POST['idReceiver']; $query = "INSERT INTO messages (nombre, message, idEmitter, idReceiver, seenUsuario) VALUES ('$name', '$message', '$emitter', '$receiver', '0')"; $run = $conexion->query($query); echo $message;
SESSION['usuario']['nombre']?>"> <input type="button" name="submit" value="Send it" onclick="enviar();"> <input type="hidden" id="myId" name="idReceiver" value="<?php echo $id ?>"> <input type="hidden" id="idEmitter" name="idEmitter" value="<?php echo $us ?>"> </form>

Твой JS: Добавляет SUCCESS function, что это напечатал inser.php

function enviar(){
            var mensaje = document.getElementById('message').value;
            var nombre = document.getElementById('nombre').value;
            var idEmitter = document.getElementById('myId').value;
            var idReceiver = document.getElementById('idEmitter').value;

            var dataen = 'message='+mensaje +'&nombre='+nombre +'&myId='+idEmitter +'&idEmitter='+idReceiver;

             $.ajax ({
                type:'POST',
                url:'inser.php',
                data:dataen,
                cache: false,
                success: function(html)
                {
                    $("#chat").html(html);
                }

И despuГ©s в твоем PHP inser.php: В конце концов сделай один я бросаю из mesnaje или того, в чем ты нуждаешься.

include 'db.php';
include '../functions.php';

    $name = 

HTML: botГіn будь должен состоять type = "button", с этим не envГ - в и function посылать в том, чтобы он был onclick.

[110]

Твой JS: Добавляет SUCCESS function, что это напечатал inser.php

[111]

И despuГ©s в твоем PHP inser.php: В конце концов сделай один я бросаю из mesnaje или того, в чем ты нуждаешься.

[112]POST['nombre']; $message =

HTML: botГіn будь должен состоять type = "button", с этим не envГ - в и function посылать в том, чтобы он был onclick.

[110]

Твой JS: Добавляет SUCCESS function, что это напечатал inser.php

[111]

И despuГ©s в твоем PHP inser.php: В конце концов сделай один я бросаю из mesnaje или того, в чем ты нуждаешься.

[112]POST['message']; $emitter =

HTML: botГіn будь должен состоять type = "button", с этим не envГ - в и function посылать в том, чтобы он был onclick.

[110]

Твой JS: Добавляет SUCCESS function, что это напечатал inser.php

[111]

И despuГ©s в твоем PHP inser.php: В конце концов сделай один я бросаю из mesnaje или того, в чем ты нуждаешься.

[112]POST['idEmitter']; $receiver =

HTML: botГіn будь должен состоять type = "button", с этим не envГ - в и function посылать в том, чтобы он был onclick.

[110]

Твой JS: Добавляет SUCCESS function, что это напечатал inser.php

[111]

И despuГ©s в твоем PHP inser.php: В конце концов сделай один я бросаю из mesnaje или того, в чем ты нуждаешься.

[112]POST['idReceiver']; $query = "INSERT INTO messages (nombre, message, idEmitter, idReceiver, seenUsuario) VALUES ('$name', '$message', '$emitter', '$receiver', '0')"; $run = $conexion->query($query); echo $message;
0
ответ дан 24.11.2019, 07:19