php.de

Zurück   php.de > Webentwicklung > JavaScript, Ajax und mehr

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.07.2011, 10:07  
Neuer Benutzer
 
Registriert seit: 13.07.2011
Beiträge: 4
PHP-Kenntnisse:
Anfänger
eshepht befindet sich auf einem aufstrebenden Ast
Standard Jquery UI Modal form: Formular mit submit an login.php übergeben

Hallo zusammen,
vielleicht könnt ihr mir ja ein wenig helfen!?

ich habe das Problem, dass mein login mit einem Jquery UI modal form mache. Soweit so gut. Der Button zum übergeben des Formulars geht ins leere der post auf der Login.php kommt nicht an.



hier der js code


Code:
$(function() {
		// a workaround for a flaw in the demo system (http://dev.jqueryui.com/ticket/4375), ignore!
		$( "#dialog:ui-dialog" ).dialog( "destroy" );
		
		var nickname = $( "#nickname" ),
			password = $( "#password" ),
			allFields = $( [] ).add( nickname ).add( password ),
			tips = $( ".validateTips" );

		function updateTips( t ) {
			tips
				.text( t )
				.addClass( "ui-state-highlight" );
			setTimeout(function() {
				tips.removeClass( "ui-state-highlight", 1500 );
			}, 500 );
		}

		function checkLength( o, n, min, max ) {
			if ( o.val().length > max || o.val().length < min ) {
				o.addClass( "ui-state-error" );
				updateTips( "Length of " + n + " must be between " +
					min + " and " + max + "." );
				return false;
			} else {
				return true;
			}
		}

		function checkRegexp( o, regexp, n ) {
			if ( !( regexp.test( o.val() ) ) ) {
				o.addClass( "ui-state-error" );
				updateTips( n );
				return false;
			} else {
				return true;
			}
		}
		
		$( "#dialog-form" ).dialog({
			autoOpen: false,
			height: 250,
			width: 350,
			modal: true,
			draggable: false,
			resizable: false,
			buttons: {
				"Login": function() {
					var bValid = true;
					allFields.removeClass( "ui-state-error" );

					bValid = bValid && checkLength( nickname, "nickname", 3, 16 );
					bValid = bValid && checkLength( password, "password", 5, 16 );

					bValid = bValid && checkRegexp( nickname, /^[a-z]([0-9a-z_])+$/i, "Nickname may consist of a-z, 0-9, underscores, begin with a letter." );
					

					if ( bValid ) {
						 
						$( this ).dialog( "close" );
						$('#loginForm').submit();
					}
				},
				Cancel: function() {
					$( this ).dialog( "close" );
				}
			},
			close: function() {
				allFields.val( "" ).removeClass( "ui-state-error" );
			}
		});

		$( "#modal_login" )
			.button()
			.click(function() {
				$( "#dialog-form" ).dialog( "open" );
			});
	});

und hier die index.html

Code:
<div id="dialog-form" title="Login">
                <p class="validateTips">All form fields are required.</p>
            
                <form action="login.php" method="post" name="loginForm" id="loginForm">
                <fieldset>
                    <label for="nickname">Nickname</label>
                    <input type="text" name="nickname" id="nickname" class="text ui-widget-content ui-corner-all" />
                    <label for="password">Password</label>
                    <input type="password" name="password" id="password" class="text ui-widget-content ui-corner-all" />
                   
                </fieldset>
                </form>
            </div>


und hier die login.php

Code:
<?php

#session_start();

include('config.php');





//Beim Absenden des Formulars
if(isset($_POST['submit']))
{


	//Variablen werden aus dem Formular geholt
	$nickname = $_POST['nickname'];
	$pwd = $_POST['password'];
	
	//Wenn Nickname/Passwort nicht deklariert wurden, gehe zur Login-Seite
	if($nickname=="" || $pwd=="")
	{
		//echo "<div id=\"dialog-message\">Bitte geben Sie Ihre Benutzerdaten ein!</div>";
		echo "<Script>alert('Bitte geben Sie Ihre Benutzerdaten oder Passwort ein!')</script>";
		echo "<Script>history.back();</script>";
		exit();
		
	}
	
	//Ansonsten vergleiche sie mit der Datenbank
	else
	{
		$pwd_md5 = md5($pwd);
		$result = mysql_query("SELECT * FROM user WHERE nickname='$nickname' && pwd='$pwd_md5'");
		
		//Bei richtigen Daten gehe zum Useraccount
		if($result && mysql_num_rows($result)===1)
		{
			$user = mysql_fetch_array($result);
			$uid = $user['uid'];
			$visits = $user['visits'];
			//schreibe in die Datenbank
			
			mysql_query("UPDATE 
										user 
						SET 
										sessionID = '".mysql_real_escape_string(session_id())."',
                        				autologin = NULL,
                        				ip = '".$_SERVER['REMOTE_ADDR']."',
                        				last_action = '".mysql_real_escape_string(time())."',
                        				last_login = '".mysql_real_escape_string(time())."',
										visits='".($visits+1)."' 
						WHERE 
										uid= '$uid'
						");
			
			
			//such die Rechte vom eingeloggten User
			$result = mysql_query("SELECT * FROM user_rights WHERE uid='$uid'");
			$rights = mysql_fetch_array($result);
			
			/*echo "<Script>alert('".$rights['rights']."')</script>";*/
			
			$_SESSION['uid'] = $user['uid'];
			$_SESSION['nickname'] = $user['nickname'];
			$_SESSION['pwd'] = $user['pwd'];
			$_SESSION['allow_login'] = "yes";
			$_SESSION['rights'] = $rights['rights'];
			
			header("Location: ".BASEHREF."/index.php");
			exit();
		} 
			
		//Ansonten, zeige Fehlermeldung	
		else
		{
			echo "<Script>alert('Nickname oder Passwort ist falsch!')</script>";
			echo "<Script>history.back();</script>";
			exit();
		}
	}
}
else{
		echo "<Script>alert('Keine Daten gefunden!')</script>";
		echo "<Script>history.back();</script>";
		exit();
}
?>


Danke schon mal im vorraus!
eshepht ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 14.07.2011, 10:48  
Erfahrener Benutzer
 
Registriert seit: 28.05.2008
Beiträge: 2.094
PHP-Kenntnisse:
Fortgeschritten
rudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nett
Standard

Kriegst du irgendwelche Fehlermeldungen angezeigt? Setz doch mal einen Breakpoint bei bValid (im Login Click handler) und step das durch.
Was sagt denn das Netzwerktab des Debugging-Tools deiner Wahl? Wird überhaupt ein Request verschickt? Stimmt die URL?
Ein paar Tips noch, damit du das Rad nicht neu erfinden musst:

http://blog.jqueryui.com/2010/05/jqu...-19m1-tooltip/ (zum ausprobieren git master branch head auschecken)

http://bassistance.de/jquery-plugins...in-validation/

Grüße


Basti
__________________
++++ Wieder einer ins Netz gegangen: Phishers Fritz zufrieden ++++
Blog
rudygotya ist offline   Mit Zitat antworten
Alt 14.07.2011, 10:49  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.266
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Wow machst du das kompliziert.

Was mir auffällt ist, dass $_POST["submit"] bei dir nicht definiert zu sein scheint. Prüf erstmal im Firebug oder der Chrome-Konsole an welche URL das Formular geschickt wird (falls überhaupt) und welche Daten hingeschickt werden. Debuggen heißt das Zauberwort. Also nachvollziehen in welchen Schleifen und Bedingungen die Ausführung durchläuft und welche Werte die Variablen jeweils haben. Da kann dir var_dump(), print_r() und natürlich auch echo/print ziemlich gut weiterhelfen.
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Alt 14.07.2011, 12:14  
Neuer Benutzer
 
Registriert seit: 13.07.2011
Beiträge: 4
PHP-Kenntnisse:
Anfänger
eshepht befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

Ich habe in der logni.php folgendes geändert,

PHP-Code:
//Beim Absenden des Formulars
if(isset($_POST['nickname']))

und nun erkennt er den post

doch leider steht nach der login.php zu urteilen nichts im post drinnen.

PHP-Code:
//Wenn Nickname/Passwort nicht deklariert wurden, gehe zur Login-Seite
    
if($nickname=="" || $pwd=="")
    {
        
//echo "<div id=\"dialog-message\">Bitte geben Sie Ihre Benutzerdaten ein!</div>";
        
echo "<Script>alert('Bitte geben Sie Ihre Benutzerdaten oder Passwort ein!')</script>";
        echo 
"<Script>history.back();</script>";
        exit();
        
    } 
Gruß
eshepht ist offline   Mit Zitat antworten
Alt 14.07.2011, 12:15  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.266
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Wo definierst du die Variable $nickname? Nimm $_POST["nickname"]. Gleiches gilt für alle anderen Variablen, die du per POST aus dem Formular erwartest.
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Alt 14.07.2011, 12:18  
Neuer Benutzer
 
Registriert seit: 13.07.2011
Beiträge: 4
PHP-Kenntnisse:
Anfänger
eshepht befindet sich auf einem aufstrebenden Ast
Standard

ich definiere sie bevor die Abfrage gestartet wird!

PHP-Code:
//Variablen werden aus dem Formular geholt
    
$nickname $_POST['nickname'];
    
$pwd $_POST['password'];
    
    
//Wenn Nickname/Passwort nicht deklariert wurden, gehe zur Login-Seite
    
if($nickname=="" || $pwd=="")
    {
        
//echo "<div id=\"dialog-message\">Bitte geben Sie Ihre Benutzerdaten ein!</div>";
        
echo "<Script>alert('Bitte geben Sie Ihre Benutzerdaten oder Passwort ein!')</script>";
        echo 
"<Script>history.back();</script>";
        exit();
        
    } 
eshepht ist offline   Mit Zitat antworten
Alt 14.07.2011, 12:26  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.266
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Meine erste Antwort zu deinem Problem. (Jquery UI Modal form: Formular mit submit an login.php übergeben)

Würde mich freuen, wenn du meine Postings nicht ignorieren würdest. Wenn du etwas darin nicht verstehst, kannst du nachfragen. Wenn nicht drehen wir uns im Kreis.
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Alt 14.07.2011, 12:33  
Neuer Benutzer
 
Registriert seit: 13.07.2011
Beiträge: 4
PHP-Kenntnisse:
Anfänger
eshepht befindet sich auf einem aufstrebenden Ast
Standard

Sie stehen alle in dem Formular. Und in der login.php haben diese variablen keinen Wert.

Die URL ist soweit in Ordnung. habe anschließend mit

echo $_POST['nickname'];
echo $_POST['password'];

geprüft ob die Variablen Werte enthalten.
darauf sind keine Werte in den Variablen enthalten.
eshepht ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

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

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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] jQuery UI $.post(URL, Data) || Data als Variable übergeben nicht möglich ? dreamcatcher JavaScript, Ajax und mehr 19 01.04.2011 22:42
Session Variable in Formular feld übergeben Crunchip PHP Einsteiger 9 20.03.2011 11:15
Variable und Form per url übergeben kevbog PHP Einsteiger 4 10.12.2010 21:54
JQuery Modal Window Xeo JavaScript, Ajax und mehr 2 14.11.2010 17:44
mit form buttom unterschiedliche variabeln übergeben kyle2010 PHP Tipps 2010 7 31.03.2010 16:36
Variablen aus einem Formular an mehrere Dateien übergeben? Tarantil PHP Tipps 2009 3 30.11.2009 20:44
[Erledigt] Formatierung im Textfeld per Formular mit übergeben PlanLos23 PHP Tipps 2008 2 25.06.2008 09:05
form action wird vor submit ausgeführt abcluberer PHP Tipps 2008 5 14.05.2008 10:32
[Erledigt] variable ohne form mit submit übergeben PHP Tipps 2005-2 6 06.09.2005 20:34
formular übergeben ohne button me HTML, Usability und Barrierefreiheit 1 21.12.2004 14:56
Array per Formular übergeben RoDa PHP Tipps 2004-2 10 16.11.2004 07:34
Greenhorn: Reload einer IMG-Datei nach SUBMIT einer Form PHP Tipps 2004 3 20.09.2004 21:19
[Erledigt] Aktuelle Url an Formular übergeben PHP Tipps 2004 6 04.08.2004 16:12
[Erledigt] Formular, Submit, PHP - Hab ein kleines Problem PHP Tipps 2004 2 10.07.2004 13:50
Form nach submit PHP Tipps 2004 1 02.06.2004 13:12

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
jquery ui form, jquery ui login form, jquery ui login, jquery ui formular, jquery ui modal, jquery modal login, jquery submit, jquery dialog form submit, jquery ui login dialog, jquery login form, jquery ui dialog form submit, jquery ui formulare, jquery login dialog, jquery ui dialog form, javascript, wenn submit dann passwort sonst nicht wert übergeben, formulare jquery, ui formular, ui modal, php modal form, modaler dialog formular absenden php

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:20 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum