HansGruber
Grünschnabel
Hallo alle zusammen, ich habe mich verucht mit MySQL und AJAX auseinander zu setzen und habe ein interessantes Tut gefunden,
http://www.webmaster-eye.de/Notizen-mit-Ajax.330.artikel.html
ich verstehe auch alles soweit und kann es nachvollziehen.
Mein Problem besteht darin, dass es nicht funktioniert. Ich habe eine DB angelegt und kann den Text, den ich per Konsole in die Tabelle geschrieben habe beim Starten lesen aber ich kann keinen neuen Text Speichern, kann mir da jemand evtl. weiterhelfen?
hier die Notes.php
und hier die dbPut.php
Schonmal vielen dank im vorraus.
Wolle
http://www.webmaster-eye.de/Notizen-mit-Ajax.330.artikel.html
ich verstehe auch alles soweit und kann es nachvollziehen.
Mein Problem besteht darin, dass es nicht funktioniert. Ich habe eine DB angelegt und kann den Text, den ich per Konsole in die Tabelle geschrieben habe beim Starten lesen aber ich kann keinen neuen Text Speichern, kann mir da jemand evtl. weiterhelfen?
hier die Notes.php
HTML:
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Test</title>
<script type="text/javascript">
var url = "dbPut.php?text="; // The server-side script
/*function handleHttpResponse() {
if (http.readyState == 4) {
// Split the comma delimited response into an array
results = http.responseText.split(",");
document.getElementById('city').value = results[0];
document.getElementById('state').value = results[1];
}
}*/
function updateDB() {
var txt = document.getElementById("txt").value;
http.open("GET", url + escape(txt), true);
//http.onreadystatechange = handleHttpResponse;
http.send(null);
document.getElementById("btn").value = "saved";
}
<!-- Nach betätigen des Buttons "save" wird save in saved geändert -->
function resetB(){
document.getElementById("btn").value = "save!";
}
<!-- Wenn im Textfeld etwas verändert wird saved wider in save geändert -->
function getHTTPObject() {
var xmlhttp;
/*@cc_on
@if (@_jscript_version >= 5) try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E){
xmlhttp = false;
}
} @else xmlhttp = false; @end @*/
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
try { xmlhttp = new XMLHttpRequest();
} catch (e) {
xmlhttp = false;
}
}
return xmlhttp;
} var http = getHTTPObject(); // We create the HTTP Object
setInterval("updateDB()", 10000);
</script>
</head>
<body>
<!-- Damit beim laden der Seite schon was im Textfeld steht. Übernahme aus DB funktioniert. -->
<?php
$dbhost = 'localhost';
$dbusername = 'test';
$dbpasswd = 'test';
$database_name = 'ajax';
$connection = mysql_pconnect("$dbhost","$dbusername","$dbpasswd") or die ("Couldn't connect to server.");
$db = mysql_select_db("$database_name", $connection) or die("Couldn't select database.");
$sqlab = "select text from notes";
$satz = mysql_query($sqlab);
$dsatz = mysql_fetch_assoc($satz);
?>
<!-- HTML Teil. -->
<input type="button" value="save!" id="btn" onclick="updateDB()" style="float:left"/>
<textarea cols="100" rows="20" id="txt" onchange="resetB()" onkeypress="resetB()">
<?php echo ($dsatz['text'])
?>
</textarea>
</body>
</html>
und hier die dbPut.php
PHP:
<?php
$dbhost = 'localhost';
$dbusername = 'test';
$dbpasswd = 'test';
$database_name = 'ajax';
$connection = mysql_pconnect("$dbhost","$dbusername","$dbpasswd") or die ("Couldn't connect to server.");
$db = mysql_select_db("$database_name", $connection) or die("Couldn't select database.");
session_start();
$_SESSION['name'] = "Exos_Sho";
$text = $_GET['text'];
$name = $_SESSION['name'];
$sql = "update notes set name='$name', text='$text'";
mysql_query($sql);
?>
Schonmal vielen dank im vorraus.
Wolle
Zuletzt bearbeitet: