B4ttl3m4st3r: Problem mit "HTTP-Status 204 No Content"

Beitrag lesen

Hallo zusammen.

Ich habe ein Problem mit dem sog. HTTP-Status 204 für eine Query-Abfrage.

Ich befasse mich mit der 204-Fehlerseite mit einer Header-Angabe erst seit kurzem und habe diesbezüglich noch nicht viel Kenntnisse.
Ich erachte diese Methode allerdings jetzt schon als sehr nützlich, da man damit Querys senden kann, ohne eine Seitenaktualisierung vornehmen zu müssen.

Bei Klick auf folgenden Link sollen die Querys und die GET-Parameter an die query.php gesendet werden, ohne dass sich die Seite verändert.

<a onclick="this.href+='&jscript=1';" href="query.php?action=1234&id=241&value=5">Sende Querys</a>

Der Inhalt der query.php:

<?php  
if(isset($_GET['action'],$_GET['value'],$_GET['jscript'],$_GET['id']) AND $_GET['action'] == "1234" AND $_GET['jscript'] == "1") {  
//bedarf hier leider einer neuen mySQL-Anmeldung  
		include "../../../php/mysql.php";  
		@mysql_connect(MYSQL_HOST, MYSQL_USERNAME, MYSQL_PASSWORD) AND mysql_select_db(MYSQL_DATABASE) OR die('no database.'."\n");  
		$sql = "UPDATE  
					".MYSQL_PREFIX."table1  
				SET  
					row1 = row1 + 1  
				WHERE  
					id = '".$_GET['id']."'";  
		$result = mysql_query($sql) OR die(mysql_error());  
}  
header("HTTP/1.1 204  No Content")  
?>

Das funktioniert soweit ganz gut, doch nun versuche ich in die query.php eine Kontrollstruktur (if-else) einzubauen, die zuerst eine Variable (in meinem Falle eine $SESSION) übeprüfen soll, befor die Querys gesendet werden, etwa so:

<?php  
if(isset($_GET['action'],$_GET['value'],$_GET['jscript'],$_GET['id']) AND $_GET['action'] == "1234" AND $_GET['jscript'] == "1") {  
if(isset($_SESSION['login'])) {  
		// sende querys  
}  
}  
header("HTTP/1.1 204  No Content")  
?>

Hier werden die Querys nicht mehr gesendet, auch, wenn $_SESSION['login'] vorhanden ist.
Würde mich freue, wenn mir da jemand helfen kann oder andere Vorschläge für "Query senden ohne Seitenaktualisierung" hat.

Danke.