• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Ajax ~ Problem mit response

Status
Für weitere Antworten geschlossen.

Gimli

Mitglied
Habe folgendes Problemchen:
Ich will eine Seite aufrufen, die etwas in eine DB einträgt und als ergebnis einen Text liefert. Das ganze mache ich mit Ajax aber es will nicht wirklich funktionieren. Die Fehler-Konsole spuckt auch nix aus...
Bin ich wieder nur zu dämlich oder is der Fehler wirklich tief drin?;ugl
Seht selbst:

Rank.php
HTML:
<!DOCTYPE html>
<html>
<head>
<title>Benutzer-Ränge</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="expires" content="0">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta name="description" content="Pilum Aureum. DAS CMS für Clans, private Homepages und Vereine. Einfach runterladen und auf ihrem Webspace installieren! Es ist simpel und einfach zu bedienen und hat sogar ein Handbuch in Pdf oder HTML Format mit dabei. Sie können außerdem, falls sie Fragen haben, im Supportforum nachfragen oder ihre selbst erstellten Templates reinstellen.">
<meta name="author" content="Pilum-Aureum">
<meta name="keywords" content="CMS, Pilum, Aureum, Pilum-Aureum, Clan CMS, Homepage, einfach installieren">
<meta name="date" content="2010 01 14">
<meta NAME="language" CONTENT="de"> <style type="text/css" media="screen">
@import url("../style.css");
</style>
<script type="text/javascript">
// <![CDATA[
var XMLHTTP = null;
if(window.XMLHttpRequest) {
	XMLHTTP = new XMLHttpRequest();
}
else if(window.ActiveXObject) {
	try {
		XMLHTTP = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (ex) {
		
		try {
			XMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
		} catch(ex) {
		}
	}
}

function DatenAusgeben() {
	if(XMLHTTP.readyState == 4) {
		document.getElementById("resp").innerHTML = XMLHTTP.responseText;
		document.getElementById("resp").style.display = "";
	}
}

function new_rank(name, admin) {
	XMLHTTP.open("GET", "../functions/add.php?form=rank&name=" + name + "&admin=" + admin, true);
	XMLHTTP.onreadystatechange = DatenAusgeben;
	XMLHTTP.send(null);
}
// ]]>
</script>
</head><body _texified="true">
<div id="wrapper">
	<div id="header"></div>
	
	<div id="nav">
		<div id="navlinks">
						<a href="../index.php" class="home"></a>
			<a href="../settings/index.php" class="settings"></a>
            <a href="../users/index.php" class="users"></a>
			<!--
			<a href="http://support.pilum-aureum.de" class="support"></a>
			<a href="../templates.php" class="templates"></a>
			<a href="http://demo.pilum-aureum.de" class="demo"></a>
			<a href="../faq.php" class="faq"></a>
			<a href="../contact.php" class="contact"></a>
            -->		</div>
	</div>

	
	<div class="spacer"></div>
	<div style="width:154px;margin-left:15px;border-bottom:1px solid #000;"></div>
	
	<div id="leftnav">
        <a href="index.php" class="left">Benutzerliste</a>
        <a href="ranks.php" class="left_on">Benutzer-R&auml;nge</a>
        <a href="search.php" class="left">Benutzer suchen</a>
	</div>
	
	<div id="con">
		<h1>Benutzer-R&auml;nge</h1><br>

		<p>
            Hier werden alle Benutzerr&auml;nge aufgelistet:<br>
            <fieldset>
            <ul>
                            <li>Rang-Name: User | Admin-Rechte: Nein | <a href="#">Bearbeiten</a></li>
                                <li>Rang-Name: Admin | Admin-Rechte: Ja | <a href="#">Bearbeiten</a></li>
                                <li>Rang-Name: Neuling | Admin-Rechte: Nein | <a href="#">Bearbeiten</a></li>
                            </ul>
            </fieldset><br>
            Sie können außerdem neue Benutzerr&auml;nge hinzufügen. Achten sie dabei allerdings darauf, ob sie Administrations-Rechte vergeben oder nicht.<br><br>
            <input type="button" value="Neuen Benutzerrang" onClick="this.style.display='none'; document.getElementById('newrank').style.display='';"><br>
            <form style="display:none;" id="newrank">
            	<fieldset>
            		<label for="name">Rang-Name:</label><label for="admin" style="margin-left:94px;">Admin rechte vergeben?<br></label>
                    <input name="name" id="name">&nbsp;&nbsp;
                    <select name="admin" id="admin">
                    	<option value="0">Bitte wählen</option>
                    	<option value="1">Admin-Rechte</option>
                        <option value="0">Keine Admin-Rechte</option>
                    </select>&nbsp;&nbsp;
                    <input type="button" value="Hinzufügen" onClick="new_rank(document.getElementById('name').value,document.getElementById('admin').value)">
            	</fieldset><br>
                <fieldset id="resp" style="display:none">
                </fieldset>
            </form>
		</p>
	</div>

	
	<div style="clear:both;overflow:hidden;height:1px;"></div>
	
	<div style="position:absolute;bottom:40px;z-index:2;margin-left:15px;height:1px;width:154px;border-top:1px solid #000;"></div>
	<div class="spacer" style="position:absolute;bottom:21px;"></div>
	
		<div id="bot">
		Copyright © Pilum Aureum
		<span style="position:absolute;top: 1px; right: 18px;">
			<a href="../imprint.php" class="bot">Impressum</a>
			&nbsp;
			<a href="../manual.php" class="bot">Manual</a>
			&nbsp;
			<a href="../logout.php" class="bot">Logout</a>
			&nbsp;
			<a href="http://wiki.pilum-aureum.de/" target="_blank" class="bot">Wiki</a>
		</span>
	</div></div>

</body>
</html>

add.php
PHP:
<?php
require_once("../config/config.ini.php");
require_once("../config/checklogin.php");

if($_GET["form"] == "rank") {
    $name = $_GET['name'];
    $admin = $_GET['admin'];
    if(empty($name)) echo "Bitte einen Rang-Namen angeben!";
    else {
        $sql = mysql_query("INSERT INTO ".$dbfront."ranks SET
                           rank = '".$name."',
                           admin_rights = ".$admin."");
        echo "Der Rang \"".$name."\" wurde erfolgreich hinzugefügt"
    }
}

?>

Danke schonmal
 
Moin.
Leider ist ds letzte mal, dass ich Ajax ohne ein Framework benutzt habe zu lange her, als das ich dir sagen könnte, wieso es nicht funktioniert, aber ich kann dir sagen, dass es sehr unsicher ist. Du kannst doch nicht da drüber einen Admin eintragen lassen :D get variablen lassen sich manipulieren.
Und wegen der Ajax Geschichte. Ich weiß nicht, ob es für dich in Frage kommt, aber vielleicht willst du dafür ja ein Framework nutzen (Ich benutze meistens Prototype JavaScript framework: Easy Ajax and DOM manipulation for dynamic web applications oder script.aculo.us - web 2.0 javascript (scriptaculous baut auf prototype auf)). Denn bei mir ist es meistens auch so, dass ich den genutzen Text in einem Kasten, der mit einer schönen Animation eingeblendet wird, erscheinen lasse.
Solltets du ähnliches vorhaben, rate ich dir ein Framework zu benutzen.
Zu wissen was bei Ajax apssiert ist eine Gute Sache, jedoch sich immer wieder die Schreibarbeit zu machen lässt sich halt durch solche frameworks verhindern :)
 
Moin.
Leider ist ds letzte mal, dass ich Ajax ohne ein Framework benutzt habe zu lange her, als das ich dir sagen könnte, wieso es nicht funktioniert, aber ich kann dir sagen, dass es sehr unsicher ist. Du kannst doch nicht da drüber einen Admin eintragen lassen :D get variablen lassen sich manipulieren.
Und wegen der Ajax Geschichte. Ich weiß nicht, ob es für dich in Frage kommt, aber vielleicht willst du dafür ja ein Framework nutzen (Ich benutze meistens Prototype JavaScript framework: Easy Ajax and DOM manipulation for dynamic web applications oder script.aculo.us - web 2.0 javascript (scriptaculous baut auf prototype auf)). Denn bei mir ist es meistens auch so, dass ich den genutzen Text in einem Kasten, der mit einer schönen Animation eingeblendet wird, erscheinen lasse.
Solltets du ähnliches vorhaben, rate ich dir ein Framework zu benutzen.
Zu wissen was bei Ajax apssiert ist eine Gute Sache, jedoch sich immer wieder die Schreibarbeit zu machen lässt sich halt durch solche frameworks verhindern :)

Also du kannst ja da nicht einfach so mit Get Einen Admin eintragen denn vorher wird überprüft ob du überhaupt ein Admin bist in der config.ini.php Das wiederum wird beim Login in eine Session eingetragen.
Zu den Frameworks: Ich schau sie mir mal an, vielleicht hilft das mir ja ;)
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben