Hallo,
Ich hab heute angefangen ein Chatscript zu basteln ... mit HTML, JavaScript, PHP und MySQL. Das Fenster besteht aus 3 Frames:
Frame 1: Hier erscheint der Text
Frame 2: Text-Eingabe und schreiben in die Datenbank
Frame 3: enthält das Script zum auslesen
So sehen die Codes aus:
-----------------------------------------------------------------------
Frame 2:
<?php
$get=$HTTP_GET_VARS;
if (empty($get['eingabe'])){$get['eingabe']="";}
if ($get['eingabe']!="")
{
$txt=$get['eingabe'];
$connection=mysql_connect ("xxx", "xxx", "xxx");
mysql_select_db("xxx");
mysql_query("INSERT INTO `chat` (`indate`, `data`) VALUES (NOW(), '$txt')");
}
?>
<html>
<head>
</head>
<body bgcolor="#CCCCCC" text="black" link="blue" vlink="purple" alink="red">
<form name="eingabe" method="get" action="eingabe.php">
<p><input type="text" name="eingabe" size="80" style="font-size:10pt; border-color:black; border-style:solid;">
<input type="submit" value="Send >" style="font-size:9pt; color:navy; background-color:white; border-color:black; border-style:solid;"></p>
</form>
</body>
</html>
-----------------------------------------------------------------------
Frame 3:
<?php
$connection=mysql_connect ("xxx", "xxx", "xxx");
mysql_select_db("xxx");
mysql_query("DELETE FROM `chat` WHERE indata<NOW()-INTERVAL 10 MINUTE");
if ($res=mysql_query("SELECT * FROM `chat` WHERE UNIX_TIMESTAMP(indate)>$lastaccess"))
{
print"<Script language=\"JavaScript\">";
while ($row=mysql_fetch_array($res))
{
print"parent.text.document.write('".$row['data']."<br>');";
}
print"</script>";
$lastaccess=time();
}
mysql_close($connection);
print"<meta http-equiv=\"refresh\" content=\"5; URL=script.php\">";
?>
-----------------------------------------------------------------------
So ... jetzt teste ich das ganze bei mir lokal und muss feststellen daß manchmal der Text gar nicht erscheint den man eingibt ... aoder manchmal auch nur in einem der Fenster bei 2 Chattern (zufällig)
Kann das sein daß ews Probleme gibt weil mehrer Scripte gleichzeitig versuchen auf die Datenbank zuzugreifen ??
Wenn es so sein sollte gibt es eine möglichkeit zu verhindern daß das passiert ?
Oder an was könnte es sonst liegen ??
SCHON MAL THX IM VORRAUS
Ich hab heute angefangen ein Chatscript zu basteln ... mit HTML, JavaScript, PHP und MySQL. Das Fenster besteht aus 3 Frames:
Frame 1: Hier erscheint der Text
Frame 2: Text-Eingabe und schreiben in die Datenbank
Frame 3: enthält das Script zum auslesen
So sehen die Codes aus:
-----------------------------------------------------------------------
Frame 2:
<?php
$get=$HTTP_GET_VARS;
if (empty($get['eingabe'])){$get['eingabe']="";}
if ($get['eingabe']!="")
{
$txt=$get['eingabe'];
$connection=mysql_connect ("xxx", "xxx", "xxx");
mysql_select_db("xxx");
mysql_query("INSERT INTO `chat` (`indate`, `data`) VALUES (NOW(), '$txt')");
}
?>
<html>
<head>
</head>
<body bgcolor="#CCCCCC" text="black" link="blue" vlink="purple" alink="red">
<form name="eingabe" method="get" action="eingabe.php">
<p><input type="text" name="eingabe" size="80" style="font-size:10pt; border-color:black; border-style:solid;">
<input type="submit" value="Send >" style="font-size:9pt; color:navy; background-color:white; border-color:black; border-style:solid;"></p>
</form>
</body>
</html>
-----------------------------------------------------------------------
Frame 3:
<?php
$connection=mysql_connect ("xxx", "xxx", "xxx");
mysql_select_db("xxx");
mysql_query("DELETE FROM `chat` WHERE indata<NOW()-INTERVAL 10 MINUTE");
if ($res=mysql_query("SELECT * FROM `chat` WHERE UNIX_TIMESTAMP(indate)>$lastaccess"))
{
print"<Script language=\"JavaScript\">";
while ($row=mysql_fetch_array($res))
{
print"parent.text.document.write('".$row['data']."<br>');";
}
print"</script>";
$lastaccess=time();
}
mysql_close($connection);
print"<meta http-equiv=\"refresh\" content=\"5; URL=script.php\">";
?>
-----------------------------------------------------------------------
So ... jetzt teste ich das ganze bei mir lokal und muss feststellen daß manchmal der Text gar nicht erscheint den man eingibt ... aoder manchmal auch nur in einem der Fenster bei 2 Chattern (zufällig)
Kann das sein daß ews Probleme gibt weil mehrer Scripte gleichzeitig versuchen auf die Datenbank zuzugreifen ??
Wenn es so sein sollte gibt es eine möglichkeit zu verhindern daß das passiert ?
Oder an was könnte es sonst liegen ??
SCHON MAL THX IM VORRAUS