Ich habe folgendes Problem:
Ich möchte den Chat alle paar Sekunden nachladen, so dass neue Nachrichten kurz danach angezeigt werden, jedoch funktioniert es nicht. Vielleicht könnt ihr mir helfen
Dominik72000
chat.php:
[PHPWIKI]
<?
session_start();
?>
<!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" xml:lang="de" lang="de">
<head>
<title>Chat</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<?
$verbindung = mysql_connect ("*****",
"****", "****")
or die ("keine Verbindung möglich.
Benutzername oder Passwort sind falsch");
mysql_select_db("schwarzenonne")
or die ("Die Datenbank existiert nicht.");
$absender = $_SESSION['absender'];
$empf = $_SESSION['empf'];
$inhalt = $absender.": ".$_POST['inhalt'];
$passwort = $_POST['pass'];
$abfrage1 = "SELECT * FROM benutzer WHERE name LIKE '$absender' LIMIT 1";
$ergebnis1 = mysql_query($abfrage1);
$row1 = mysql_fetch_object($ergebnis1);
if($row1->passwort == $passwort || $_SESSION['eingelogt'] == true)
{
$_SESSION['eingelogt'] = true;
if($inhalt != $absender.": " && $_SESSION['safe'] != $inhalt){
$eintrag = "INSERT INTO chat
(absender, empf, inhalt)
VALUES
('$absender', '$empf', '$inhalt')";
$eintragen = mysql_query($eintrag);
$_SESSION['safe'] = $inhalt;
}
}?>
<script language="javascript" type="text/javascript">
anfordern();
function anfordern(){
if (window.XMLHttpRequest){
//Erzeugung des Objektes für alle Browser außer IE5 und IE6.
myAjax = new XMLHttpRequest();
}else{
//Dieser Code wird als Fallback für den IE5 und IE6 benötigt, da diese die obige Schreibweise nicht unterstützen.
myAjax = new ActiveXObject("Microsoft.XMLHTTP");
}
}
myAjax.onreadystatechange=function(){
if (myAjax.readyState==4 && myAjax.status==200){
document.all.chat.innerHTML=myAjax.responseText;
setTimeout("anfordern()", 5000);
}
};
myAjax.open("GET","anzeigen.php",true);
myAjax.send();
</script>
</head>
<body>
<link rel="stylesheet" href="main.css">
<link rel="stylesheet" media="screen and (max-device-width: 700px) and (orientation: portrait)" href="responsive.css" >
<link rel="stylesheet" media="screen and (max-device-width: 700px) and (orientation: landscape)" href="responsive-landscape.css" >
<body>
<div id="chat">
</div>
<form action="chat.php" method = "post">
<input type="text" name="inhalt" id="textfeld"/>
<input type="submit" value="senden" id="buttom"/>
</form>
</body>
</html>
</body>
</html>
[/PHPWIKI]
anzeigen.php:
[PHPWIKI]
<?php
session_start();
$verbindung = mysql_connect ("localhost",
"******", "*******")
or die ("keine Verbindung möglich.
Benutzername oder Passwort sind falsch");
mysql_select_db("schwarzenonne")
or die ("Die Datenbank existiert nicht.");
$absender = $_SESSION['absender'];
$empf = $_SESSION['empf'];
$abfrage1 = "SELECT * FROM benutzer WHERE name LIKE '$absender' LIMIT 1";
$ergebnis1 = mysql_query($abfrage1);
$row1 = mysql_fetch_object($ergebnis1);
if($row1->passwort == $passwort || $_SESSION['eingelogt'] == true)
{
$abfrage = "SELECT * FROM chat WHERE (absender='".$absender."' AND empf='".$empf."') OR (empf='".$absender."' AND absender='".$empf."')" ;
$ergebnis = mysql_query($abfrage) ;
while($row = mysql_fetch_object($ergebnis)) {
echo "<a>".$row->inhalt."</a><br /><br />";
}
}
mysql_close($verbindung);
?>
[/PHPWIKI]
Ich möchte den Chat alle paar Sekunden nachladen, so dass neue Nachrichten kurz danach angezeigt werden, jedoch funktioniert es nicht. Vielleicht könnt ihr mir helfen
Dominik72000
chat.php:
[PHPWIKI]
<?
session_start();
?>
<!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" xml:lang="de" lang="de">
<head>
<title>Chat</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<?
$verbindung = mysql_connect ("*****",
"****", "****")
or die ("keine Verbindung möglich.
Benutzername oder Passwort sind falsch");
mysql_select_db("schwarzenonne")
or die ("Die Datenbank existiert nicht.");
$absender = $_SESSION['absender'];
$empf = $_SESSION['empf'];
$inhalt = $absender.": ".$_POST['inhalt'];
$passwort = $_POST['pass'];
$abfrage1 = "SELECT * FROM benutzer WHERE name LIKE '$absender' LIMIT 1";
$ergebnis1 = mysql_query($abfrage1);
$row1 = mysql_fetch_object($ergebnis1);
if($row1->passwort == $passwort || $_SESSION['eingelogt'] == true)
{
$_SESSION['eingelogt'] = true;
if($inhalt != $absender.": " && $_SESSION['safe'] != $inhalt){
$eintrag = "INSERT INTO chat
(absender, empf, inhalt)
VALUES
('$absender', '$empf', '$inhalt')";
$eintragen = mysql_query($eintrag);
$_SESSION['safe'] = $inhalt;
}
}?>
<script language="javascript" type="text/javascript">
anfordern();
function anfordern(){
if (window.XMLHttpRequest){
//Erzeugung des Objektes für alle Browser außer IE5 und IE6.
myAjax = new XMLHttpRequest();
}else{
//Dieser Code wird als Fallback für den IE5 und IE6 benötigt, da diese die obige Schreibweise nicht unterstützen.
myAjax = new ActiveXObject("Microsoft.XMLHTTP");
}
}
myAjax.onreadystatechange=function(){
if (myAjax.readyState==4 && myAjax.status==200){
document.all.chat.innerHTML=myAjax.responseText;
setTimeout("anfordern()", 5000);
}
};
myAjax.open("GET","anzeigen.php",true);
myAjax.send();
</script>
</head>
<body>
<link rel="stylesheet" href="main.css">
<link rel="stylesheet" media="screen and (max-device-width: 700px) and (orientation: portrait)" href="responsive.css" >
<link rel="stylesheet" media="screen and (max-device-width: 700px) and (orientation: landscape)" href="responsive-landscape.css" >
<body>
<div id="chat">
</div>
<form action="chat.php" method = "post">
<input type="text" name="inhalt" id="textfeld"/>
<input type="submit" value="senden" id="buttom"/>
</form>
</body>
</html>
</body>
</html>
[/PHPWIKI]
anzeigen.php:
[PHPWIKI]
<?php
session_start();
$verbindung = mysql_connect ("localhost",
"******", "*******")
or die ("keine Verbindung möglich.
Benutzername oder Passwort sind falsch");
mysql_select_db("schwarzenonne")
or die ("Die Datenbank existiert nicht.");
$absender = $_SESSION['absender'];
$empf = $_SESSION['empf'];
$abfrage1 = "SELECT * FROM benutzer WHERE name LIKE '$absender' LIMIT 1";
$ergebnis1 = mysql_query($abfrage1);
$row1 = mysql_fetch_object($ergebnis1);
if($row1->passwort == $passwort || $_SESSION['eingelogt'] == true)
{
$abfrage = "SELECT * FROM chat WHERE (absender='".$absender."' AND empf='".$empf."') OR (empf='".$absender."' AND absender='".$empf."')" ;
$ergebnis = mysql_query($abfrage) ;
while($row = mysql_fetch_object($ergebnis)) {
echo "<a>".$row->inhalt."</a><br /><br />";
}
}
mysql_close($verbindung);
?>
[/PHPWIKI]
Kommentar