Fehlerkonsole von Firefox: Syntaxfehler im String?

Nord-Süd-Richtung

Erfahrenes Mitglied
Guten Tag Com!,

ich arbeite grad an einem Loginscript mit Ajax, aber irgendwie will das nicht so ganz, und es scheitert anschließend an einem einfachen "setTimeout".

Fehler: Syntax-Fehler
Quelldatei: admin.php?do=1|Login=|Pass=
Zeile: 1, Spalte: 1
Quelltext:
Access Denied!^

So, dann dachte ich, na gut, Access Denied! ist vielleicht (warum und wie auch immer) ein Systemeigenes Wort des Browsers, das nicht verwendet werden darf.
Einfach mal was anderes ausprobiert:
Fehler: Syntax-Fehler
Quelldatei: admin.php?do=1|Login=hh|Pass=11
Zeile: 1, Spalte: 1
Quelltext:
blub^
Ich habe keine Ahung, was ich damit anfagen soll.
admin.php:
PHP:
<?php
mysql_connect();
mysql_select_db();;
$data = explode("|",$_GET['do']);
switch($data[0])
	{
         case 1:
                 $select = "SELECT * FROM Admin WHERE ***** = '".$data[1]."' AND ***** = '".$data[2]."'";
                 $queryS = mysql_query($select) or die("Fehler bei Datenbankabfrage 1: ".mysql_error());
                 if(mysql_numrows($queryS) == 1)
                 	{
                         echo 'blub';
                         }
                 else
                 	{
               		echo 'blub';
                         }
                 break;
         default:
         	echo 'Klappt';
         break;
         }
?>
Der Div
HTML:
<div id="MainContent"></div>
Und der Teil von Ajax:
Javascript:
document.getElementById("MainContent").innerHTML = http_request.responseText;
 
Ich glaube mein Vorredner meinte den kompletten Quelltext inklusive des HTTP-Requests usw. und er hat recht, das wäre wirklich notwendig um dir zu helfen. Am besten du postest einen Link auf die entsprechende Seite - da es eine php-Seite ist musst du sie ja sowieso irgendwo upgeloaded haben um sie zu testem...

Zum Thema php in javavasript: Bitte poste keinen php-Code im Javascript-Forum, sondern nur die gephrasete Ausgabe aus dem Browser. Grund: Man kann im JS-Forum keine php-Kentnisse voraussetzte und wenn es sich um einen JS-Fehler handelt, ist dieser auch leichter in der Browserausgabe zu finden.
 
Zuletzt bearbeitet:
Hehe, habe ja auch nicht behauptet, dass man php zwingend online testen muss. Kann ja selber php und habe einen apache-server auf meinem Linux-Laptop. Mir ist das nur meistens zu blöd, weil ich's dann ja später eh auf den Webserver laden muss - deswegen edtier ichs gleich im Quanta online.

Anywho du musst gelaube ich dein Problem präziser beschreiben. Wir stecken nicht so tief in deinem Code wie du und haben keine Ahnung was du bewirken willst.
 
Hi,

ok ich versuche es...:D
Ich wollte das Script etwas interessanter gestalten.
Am Anfang zählt ein Countdown runter, danach werden 2 Login Felder angezeigt.
Wenn man auf Login klickt werden diese Daten per Ajax ausgewerte, sprich es wird ein Request an die admin.php gesendet.
Problem: Der Request (in index.js) wird nicht richtig verarbeitet -.-
Je nachdem, ob der Login stimmig war oder nicht, wird entschieden was weiter geschehen soll.
->Access Granted!
->Access Denied!
Ich bin zur Zeit bei denied: Zuerst wird dem User mitgeteilt, dass er einen Falschen Login genutzt hat. Anschließend soll nach 2sek die Loginfunktion wieder aufgerufen werden, mittels setTimeout, was aber auch nicht funktioniert.
Da liegen meine 2 Hauptprobleme :)
 
Zuletzt bearbeitet:
Also bei mir spuckt der Firebug sowas aus hier

GET http://web482.server-drome.net/admin.php?do=1|Login=ufff|Pass=zff 500 (5278ms)

Error Code 500 der kommt mit dem Request den Du sendest nicht wirklich klar. Bzw interner Server Fehler.
|
Ich schiebe es einfach mal auf die >> | << .

Probier es mal mit & zeichen eventuell ist ja das des Rätsels Lösung. Aber da beuge ich mich auch weit aus dem Fenster da ja nach dem ? alles als String gewertet werden müsste bis ein & kommt somit wäre das | noch dabei es sei denn es ist nicht erlaubt.

Code:
function sendLogin() {
 Login = document.getElementById("Login").value;
 Passwort = document.getElementById("Passwort").value;
 Request("1&Login="+Login+"&Pass="+Passwort);
obj = document.getElementById("MainContent");
if(obj.innerHTML == "blub")
{AccessDenied();}
else if(obj.innerHTML == "blab")
{AccessGranted();}
 return 1;
}

Wobei ich ein Passwort sowie Benutzer Namen eh nicht per GET senden würde.
 
Zuletzt bearbeitet:
Es hat vorher problemlos funktioniert, ich kann mcih nicht erinnern etwas verändert zu haben, bzw das habe ich rückgängig gemacht, aber dann fing es auf einmal an zu mucken,
kann es vielleicht sein, dass im PHP-Script ein Fehler vorliegt, und deswegen der Request fehlschlägt?
 
Hi,

was auf PHP-Seite in $data[1] und $data[2] steht, ist etwas in der Art Login=usereingabe und Pass=usereingabe. Diese Werte musst du nochmals splitten (split) und entsprechend nur die zweiten Komponenten weiterverarbeiten.

Ausserdem kannst du mal versuchen, folgende Zeile auszukommentieren:
Code:
// http_request.overrideMimeType('text/xml');

Ciao
Quaese
 

Neue Beiträge

Zurück