2014-02-02 3 views
0

ive было сказано, что это может быть достигнуто с помощью javascript, но im буквально новым с php, и я хотел бы закончить его исследования до того, как я начну с javascript, im, делая простой чат только для практики, он регистрирует сообщения, он создает сеансы с вашим именем и регистрирует вас, но я бы не хотел обновлять всю страницу, чтобы увидеть, что кто-то сказал что-то в моем чате, плохо опубликуйте мои файлы:JavaScript, как автоматически обновлять содержимое div без обновления и autoscroll

index.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title>Chat - Customer Module</title> 
<link href="dist/css/bootstrap.css" rel="stylesheet"> 
<link href="style.css" rel="stylesheet"> 
<?php 
date_default_timezone_set('America/Caracas'); 
include('action.php'); 
?> 
</head> 
<body> 
<?php 
if(!isset($_SESSION['name'])) 
    loginform(); 

if(isset($_SESSION['name'])) 
{ 
    include('chat.php'); 
} 
var_dump($_SESSION); 
var_dump($_COOKIE); 
var_dump($_POST); 
?> 
</body> 
</html> 

im print var_dumps, чтобы узнать, все ли так, как ожидалось.

action.php

<?php 
session_start(); 

function loginform() 
{ 
    echo '<div id="loginform">'; 
    echo '<form action="index.php" method="post">'; 
      echo '<p>Please enter your name to continue:</p>'; 
      echo '<label for="name">Name:</label>'; 
      echo '<input type="text" name="name" id="name" />'; 
      echo '<input type="submit" name="enter" id="enter" value="Enter" class="btn" />'; 
    echo '</form>'; 
    echo '</div>'; 
} 

if(isset($_POST['enter'])) 
{ 
    if($_POST['name'] != '') 
    { 
     $_SESSION['name'] = stripslashes(htmlspecialchars($_POST['name'])); 
    } 
    else 
    { 
     echo '<span class="error">You input an invalid name</span>'; 
    } 
} 

if(isset($_SESSION['name'])) 
{ 
    if(isset($_POST['usermsg'])) 
    { 
     $text = $_POST['usermsg']; 

     $fp = fopen('log.html', 'a'); 
     fwrite($fp, "<div class='msgl'>(".date("g:i A").") <b>".$_SESSION['name']."</b>: ".stripslashes(htmlspecialchars($text))."<br></div>"); 
     fclose($fp); 
    } 
} 

if(isset($_POST['exit'])) 
{ 
    $fp = fopen('log.html', 'a'); 
    fwrite($fp, "<div class='msgln'>(".date("g:i A").") <i>User <b>". $_SESSION['name'] ."</b> has left the chat session.</i><br></div>"); 
    fclose($fp); 

    session_destroy(); 
    header('Location: index.php'); 
} 

?> 

chat.php

<div id="wrapper"> 
    <div id="menu"> 
     <div class="welcome"> Welcome, <b><?php echo $_SESSION['name']; ?></b>.</div> 
     <div class="logout"> <form method="POST"><input type="submit" id="exit" name="exit" value="Exit" class="btn btn-danger"></form></div> 
    </div> 
    <div id="chatbox"> 
     <?php 
     if(file_exists('log.html')) 
      echo file_get_contents('log.html'); 

     else 
      echo 'ERROR: log empty or it wasnt found.'; 
     ?> 
    </div> 
    <div id="chat"> 
     <form method="post"> 
      <input type="textarea" placeholder="Enter Message..." id="usermsg" name="usermsg" autofocus> 
      <input type="submit" value="Send" id="submitmsg" class="btn" name="submitmsg"> 
     </form> 
    </div> 
</div> 

все делает хорошо, но ив пытаются найти в интернете, как сделать функции JQ мне нужно для автопрокрутке и автообновление , для этого должно быть какое-то обновление интервала, пожалуйста, помогите.

+0

Вы ищете $ .ajax и scrollheight – deltree

+0

да, но как мне сделать код? – nosthertus

+0

google - ваш друг – deltree

ответ

1

AJAX - это то, что вам нужно, чтобы отправить форму и изменить контент на лету, не обновляя страницу.

+0

хорошо, но это из jquery ?. Мне нужно найти, как это сделать – nosthertus

+0

$ .ajax это то, что вам нужно –

Смежные вопросы