Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

Obwohl Bedingung = Wahr wird der Sonstteil ausgeführt

Diskussion: Obwohl Bedingung = Wahr wird der Sonstteil ausgeführt im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hallo Leute, ich habe folgendes Problem: Wenn ich mich auf meiner Seite (mit AJAX Login) anmelden will, dann kommt ...

Antwort
Alt 20.01.11, 18:33   #1 (permalink)
 
Registriert seit: 20.12.09
sulpsulpc Leistung: Addierstift
sulpsulpc eine Nachricht über Skype™ schicken
Likes: 0
Standard Obwohl Bedingung = Wahr wird der Sonstteil ausgeführt

Anzeige

Hallo Leute,

ich habe folgendes Problem:
Wenn ich mich auf meiner Seite (mit AJAX Login) anmelden will, dann kommt immer die Meldung, dass die Zugangsdaten nicht korrekt sind. Dabei läuft das Skript auf dem Rechner daheim normal, nur auf den Server funktioniert das nicht. Hier der Code:

HTML-Code:
<?xml version="1.0" ?>
<!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>
		<title>Gemeinschaftsanlage EEP</title>
		<link rel="stylesheet" type="text/css" href="./lib/index.css" />
		<script type="text/javascript" src="./lib/index.js"></script>
		<script type="text/javascript" src="./lib/jquery.js"></script>
		<script type="text/javascript">
		$(document).ready(function()
		{
			$("#loginform").submit(function()
			{
				$("#psubmit").hide();
				$("#pmessage").removeClass().text('Zugangsdaten werden geprüft...').fadeIn(1000);
				$.post("login.php", { Username:$("#name").val(), Userpasswort:$("#passwort").val(), rand:Math.random() }, function(data)
				{
					if(data == 'true') /* diese Bedingung sollte wahr ergeben */
					{
						$("#pmessage").fadeTo(900, 0.1, function()
						{
							$("#pmessage").text('Sie werden eingeloggt...').addClass('ok').fadeTo(900, 1, function()
							{
								$("#loginbox").slideUp(500, function()
								{
									document.location = self.location.href;
								});
							});
						});
					}else if(data == 'eslaf'){
						$("#pmessage").fadeTo(900, 0.1, function()
						{
							$("#pmessage").text('Die Zugangsdaten sind leider nicht korrekt.').addClass('error').fadeTo(900, 1).delay(2000).fadeOut(300, function()
							{
								$("#name").val('');
								$("#passwort").val('');
								$("#psubmit").show();
							});
						});
					}else{ /*dieser Teil wird immer ausgeführt */
						$("#pmessage").fadeTo(900, 0.1, function()
						{
							$("#pmessage").text(data).addClass('error').fadeTo(900, 1).delay(2000).fadeOut(300, function()
							{
								$("#psubmit").show();
							});
						});
					}
				});
				return false;
			});
		});
		</script>
	</head>
	<body>
		<div class="Header">Gemeinschaftsanlage EEP</div>
		<div class="Menu">
			<div style="vertical-align: middle;">
				<span class="Element" onclick="window.location.href = './';">Home</span> |
				<span class="Element" onclick="window.location.href = './?s=data';">Projektdaten</span> |
				<span class="Element" onclick="window.location.href = './?s=users';">Registrierte Benutzer</span> |
				{if $smarty.session.id neq ""}
				<span class="Element" onclick="window.location.href = './?s=send';">Anlage einsenden</span> |
				<span class="Element" onclick="window.location.href = './?s=chat';">Chat</span> |
				<span class="Element" onclick="window.location.href = './logout.php';">Logout</span> |
				{else}
				<span class="Element" onclick="window.location.href = './?s=regist';">Registrieren</span> |
				{/if}
				<span class="Element" onclick="window.location.href = './?s=kontakt';">Kontakt</span> |
				<span class="Element" onclick="window.location.href = './?s=impressum';">Impressum</span>
			</div>
		</div>
		<div class="Seite">
			{include file="`$seite`.tpl"}
		</div>
	</body>
</html>
Ich hoffe, ihr könnt mir helfen.

__________________
Browser: Firefox 4.01
PHP-Version: 5.3
Framework: 2.0.50727, 3.0, 3.5
OS: Windows 7 Home Premium 64-Bit, Ubuntu 11.04
sulpsulpc ist offline   Mit Zitat antworten
Alt 20.01.11, 20:13   #2 (permalink)
Moderator
 
Benutzerbild von sTEk
 
Registriert seit: 02.10.01
sTEk Leistung: Pentium IIIsTEk Leistung: Pentium IIIsTEk Leistung: Pentium IIIsTEk Leistung: Pentium IIIsTEk Leistung: Pentium III
sTEk eine Nachricht über ICQ schicken
Likes: 162
Standard

Die login.php haste auch hochgeladen?
Was passiert denn da bzw. was gibt denn die zurück oder besser gefragt - bist Diu DIr sicher, dass die 'true' zurück gibt? Dafür müsste sie nämlich einfach nur ein geschriebenes 'true' auswerfen...check mal die Rückgabe (data via Firebug angucken) dieser php (Haste auch an die standard-mäßig genutzte Zeichen-Codierung aufm Server gedacht? Klingt für mich nach nem typischen Konfigurationsunterschied zwischen Windows- und Linux-Server.). Ein Zeichen mehr (oder falsch) und es knallt Dir alles weg.
__________________


Steigerung des Luxus: eigenes Auto, eigene Villa, eigene Meinung.

Wieslaw Brudzinski

Würden die Menschen verstehen, wie unser Geldsystem funktioniert, hätten wir eine Revolution – und zwar schon morgen früh.
Henry Ford

Ich mag den Himmel blau - was will ich da mit ner Cloud?!

Geändert von sTEk (20.01.11 um 20:16 Uhr)
sTEk ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 20.01.11, 20:26   #3 (permalink)
Themenstarter
 
Registriert seit: 20.12.09
sulpsulpc Leistung: Addierstift
sulpsulpc eine Nachricht über Skype™ schicken
Likes: 0
Standard

Ja, ich bin mir 1000%ig sicher, dass er "true" zurückgibt. Die Datei habe ich auch hochgeladen. Welches Zeichen soll da falsch sein? Ich kenne mich nicht so gut mit Linux Servern aus.
__________________
Browser: Firefox 4.01
PHP-Version: 5.3
Framework: 2.0.50727, 3.0, 3.5
OS: Windows 7 Home Premium 64-Bit, Ubuntu 11.04
sulpsulpc ist offline   Mit Zitat antworten
Alt 21.01.11, 10:13   #4 (permalink)
Member of Honour
 
Benutzerbild von GrafZahl
 
Registriert seit: 28.05.10
GrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: Opteron
Likes: 211
Standard

lass doch mal ausgeben welche zeichen in data stehen ... und lasse sie ggf. auch mal zählen ...
__________________
Code:
:(){ :|:& };:
Veritas Aequitas
GrafZahl ist offline   Mit Zitat antworten
Alt 22.01.11, 11:55   #5 (permalink)
Themenstarter
 
Registriert seit: 20.12.09
sulpsulpc Leistung: Addierstift
sulpsulpc eine Nachricht über Skype™ schicken
Likes: 0
Standard

Also: in "data" stehen laut JavaScript 5 Zeichen. Kann es sein, dass das 5. Zeichen ein Leerzeichen ist? Woher kommt das aber dann? Wenn ich anschließend die Seite neulade, bin ich allerdings eingeloggt. Wenn ich den Inhalt von "data" mittels:
Code:
alert(data.value);
ausgeben will, zeigt er mir "undefined" an.
__________________
Browser: Firefox 4.01
PHP-Version: 5.3
Framework: 2.0.50727, 3.0, 3.5
OS: Windows 7 Home Premium 64-Bit, Ubuntu 11.04
sulpsulpc ist offline   Mit Zitat antworten
Alt 22.01.11, 12:38   #6 (permalink)
Moderator
 
Benutzerbild von sTEk
 
Registriert seit: 02.10.01
sTEk Leistung: Pentium IIIsTEk Leistung: Pentium IIIsTEk Leistung: Pentium IIIsTEk Leistung: Pentium IIIsTEk Leistung: Pentium III
sTEk eine Nachricht über ICQ schicken
Likes: 162
Standard

Erstens, data ist die Rückgabe der php-Datei - und das kommt eigentlich als Text zurück. Somit gibt es data.value gar nicht.
Zweitens, solltest Du z.B. Firebug nutzen (hab ich aber schon vorgeschlagen), da kannst Du nämlich zur Laufzeit mittels breaks im JS-Script debuggen und musst Dir nicht irgendwelche Inhalte mittels alert ausgeben (was ohnehin nur bei strings möglich wäre).
__________________


Steigerung des Luxus: eigenes Auto, eigene Villa, eigene Meinung.

Wieslaw Brudzinski

Würden die Menschen verstehen, wie unser Geldsystem funktioniert, hätten wir eine Revolution – und zwar schon morgen früh.
Henry Ford

Ich mag den Himmel blau - was will ich da mit ner Cloud?!
sTEk ist offline   Mit Zitat antworten
Alt 22.01.11, 13:04   #7 (permalink)
Themenstarter
 
Registriert seit: 20.12.09
sulpsulpc Leistung: Addierstift
sulpsulpc eine Nachricht über Skype™ schicken
Likes: 0
Standard

Firebug meldet, dass "data" gleich "true\n" wäre. Aber unter Windows und XAMPP hat das doch auch nichts gemacht. Soll ich das "\n" entfernen?
__________________
Browser: Firefox 4.01
PHP-Version: 5.3
Framework: 2.0.50727, 3.0, 3.5
OS: Windows 7 Home Premium 64-Bit, Ubuntu 11.04
sulpsulpc ist offline   Mit Zitat antworten
Alt 22.01.11, 13:40   #8 (permalink)
Moderator
 
Benutzerbild von sTEk
 
Registriert seit: 02.10.01
sTEk Leistung: Pentium IIIsTEk Leistung: Pentium IIIsTEk Leistung: Pentium IIIsTEk Leistung: Pentium IIIsTEk Leistung: Pentium III
sTEk eine Nachricht über ICQ schicken
Likes: 162
Standard

Zitat:
Zitat von sulpsulpc Beitrag anzeigen
Firebug meldet, dass "data" gleich "true\n" wäre. Aber unter Windows und XAMPP hat das doch auch nichts gemacht. Soll ich das "\n" entfernen?
Da 'true/n' != 'true' solltest Du das wohl entfernen...
__________________


Steigerung des Luxus: eigenes Auto, eigene Villa, eigene Meinung.

Wieslaw Brudzinski

Würden die Menschen verstehen, wie unser Geldsystem funktioniert, hätten wir eine Revolution – und zwar schon morgen früh.
Henry Ford

Ich mag den Himmel blau - was will ich da mit ner Cloud?!
sTEk ist offline   Mit Zitat antworten
Alt 22.01.11, 13:45   #9 (permalink)
Themenstarter
 
Registriert seit: 20.12.09
sulpsulpc Leistung: Addierstift
sulpsulpc eine Nachricht über Skype™ schicken
Likes: 0
Standard

OK, danke, es funktioniert. Wieso stört das \n unter Windows eigentlich nicht?
__________________
Browser: Firefox 4.01
PHP-Version: 5.3
Framework: 2.0.50727, 3.0, 3.5
OS: Windows 7 Home Premium 64-Bit, Ubuntu 11.04
sulpsulpc ist offline   Mit Zitat antworten
Alt 23.01.11, 19:48   #10 (permalink)
Senior Member
 
Registriert seit: 13.07.08
enkore Leistung: K 6-3enkore Leistung: K 6-3enkore Leistung: K 6-3
Likes: 85
Standard

Weils warum auch immer wohl net ausgegeben wird.
__________________
"It is the human race! The deterioration of the spirit of man. Man undermining himself, causing a self-willed, self-imposed, self-evident self-destruction."
+++ BREAKING +++ Troll ertrinkt im Planschbecken +++
enkore ist offline   Mit Zitat antworten
Alt 23.01.11, 19:55   #11 (permalink)
Senior Member
 
Benutzerbild von lookshe
 
Registriert seit: 10.03.07
lookshe Leistung: 8086
Likes: 19
Standard

Afaik ist unter Windows ein Zeilenumbruch als \r\n definiert und unter unixoiden System nur \n. Ist mir auch schon öfter untergekommen, dass Windows ein einfaches \n dann einfach ignoriert.

/Edit: Stimmt sogar, siehe Wikipedia Zeilenumbruch
lookshe ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » JavaScript Obwohl Bedingung = Wahr wird der Sonstteil ausgeführt
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61