Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 05:28

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



PHP - Hilfe bei Meldungen nach absenden eines Formulars

Discussion on PHP - Hilfe bei Meldungen nach absenden eines Formulars within the Web Development forum part of the Coders Den category.

Reply
 
Old   #1

 
elite*gold: 74
Join Date: Jun 2012
Posts: 608
Received Thanks: 360
PHP - Hilfe bei Meldungen nach absenden eines Formulars

Serv .. hab mir mit Hilfe von Codeschnipseln ein simples Loginscript geschrieben. Nach dem Klick auf den Button wird das Formular abgeschickt und danach erscheint eine Meldung ob der Login erfolgreich war oder nicht.

Diese Meldung wird allerdings in einem neuen Fenster ausgegeben, ich möchte diese aber über der Loginform ausgeben lassen (siehe rot markierten bereich auf Abbildung). Wäre nett, wenn sich jemand mal mein Script ansieht und mir da weiterhelfen kann.

Außerdem erhalte ich folgende Fehlermeldung bei meinem Script:
"Notice: Undefined index: action in C:\Xampp\Htdocs\fiestaarchive\index.php on line 14"



Code:
<?php
	define('access', true);
	$crapVarr = 'F@#&$^*FG^&F^#$&#&D$%%#$D%&$^%#&D#%&F$#';
	include_once('includes/xinc.config.php');
	include_once('lang/deDE.php');
	
	$behave = 0;

	if(!isset($_SESSION["username"]) and !isset($_GET["action"])) 
	{
		$behave = 0;
	}

	if ($_GET["action"] == "login") 
	{
		
	$username = mysql_escape_string($_POST["username"]);
	$password = md5($_POST["password"]);

		$connect = mysql_connect ($_CONFIG["svr_host"], $_CONFIG["svr_user"], $_CONFIG["svr_pwd"]) 
		or die ($_LANG['cn_error']);

		mysql_select_db ($_CONFIG["svr_db"])
		or die ($_LANG['db_error']);

		$control = 0;		
		$sql = "SELECT * FROM accounts WHERE BINARY username = '$username' AND password = '$password' AND ban = '0'";
		$result = mysql_query($sql);
	
		while($row = mysql_fetch_object($result)) 
		{
			$control++;
		}

	if($control != 0) 
	{
		$_SESSION["username"] = $username;
		$behave = 1;
	} 
	else 
	{
		$behave = 2;
	}
	}
?>
<!DOCTYPE html>
<html lang="de-de">
<head>
	<meta http-equiv="content-type" content="text/html; charset=utf-8">
	<meta name="author" content="<?php echo $_CONFIG['cdts_author']; ?>">
	<meta name="publisher" content="<?php echo $_CONFIG['cdts_publisher']; ?>">
	<meta name="keywords" content="<?php echo $_CONFIG['allg_tags']; ?>">
	<meta name="description" content="<?php echo $_CONFIG['allg_desc']; ?>">		
	<title><?php echo $_CONFIG['allg_name'];?></title>
	<link rel="shortcut icon" href="images/favicon.ico" type="image/ico">

	<link rel="stylesheet" type="text/css" href="css/default.css">
    <?php 
		if($behave == 1) 
		{
	?>
    	<meta http-equiv="refresh" content="0; URL=index.php?action=home"> 
    <?php
		}
	?>
</head>
<body>
	<?php
		if($behave == 0)
		{
			
		if(isset($_SESSION["username"]))
		{
	?>
    <div class="nav">Du bist eingeloggt</div>
    <?php
		}
		else
		{
	?>
	<div class="login">
        <form method="post" action="index.php?action=login">
        	<label>Benutzername</label><br />
            <input type="text" name="username" maxlength="20"><br />
            <label>Kennwort</label><br />
            <input type="password" name="password" maxlength="32"><br />
            <input class="submit" type="submit" value="Anmelden">
        </form>
    </div>
    <?php
		}
    	}
    	if($behave == 1) 
		{
			echo 'Login erfolgreich!';
    	}

    	if($behave == 2)
		{
			echo 'Login fehlgeschlagen!';
    	}	
    ?>
</body>
</html>
</body>
</html>
Cℓoud is offline  
Old 07/17/2014, 22:44   #2
 
elite*gold: 22
Join Date: Feb 2012
Posts: 576
Received Thanks: 332
<form method="post" action="index.php?action=login">
post form get parameter senden. ist nen bisschen unsauber
VisionEP1 is offline  
Old 07/19/2014, 09:47   #3
 
elite*gold: 0
Join Date: Feb 2010
Posts: 72
Received Thanks: 32
PHP Code:
if(!isset($_SESSION["username"]) and !isset($_GET["action"])) 
    {
        
$behave 0;
    } 
Das and ist hier am falschen Platz. Es wird nun hineingegangen, wenn beide nicht gesetzt sind. Wenn du ein oder ( || ) nimmst, betritt es den Verzweigungsrumpf, wenn schon eines der beiden ned gesetzt ist.

Außerdem würde ich den restlichen Code bis zum HTML in den else Zweig setzen, da sonst die Warning noch bleibt.

Das was VisionEP1 kommentiert hat ist falsch, und manuell GET-werte anhängen ist ein sehr verbreitetes, oft genutztes, sauberes und aktzeptiertes Mittel um zum Beispiel zusätzliche hidden-inputs zu umgehen.
flogi333 is offline  
Old 07/19/2014, 15:21   #4
 
elite*gold: 22
Join Date: Feb 2012
Posts: 576
Received Thanks: 332
Weit verbreitet ja.
Trotzdem schlecht.
Wird wie hier nicht gefiltert --> sicherheitslücke
VisionEP1 is offline  
Old 07/20/2014, 22:41   #5
 
elite*gold: 0
Join Date: Feb 2010
Posts: 72
Received Thanks: 32
Und welche alternative würdest du statt der Mischung aus POST und GET vorschlagen?
flogi333 is offline  
Old 07/20/2014, 23:12   #6
 
elite*gold: 21
Join Date: Apr 2013
Posts: 45
Received Thanks: 13
Quote:
Originally Posted by flogi333 View Post
Und welche alternative würdest du statt der Mischung aus POST und GET vorschlagen?

Einfach ohne GET und mit einzelne Dateien arbeiten?
CNBR is offline  
Thanks
1 User
Old 07/21/2014, 20:42   #7
 
ThinSmoke's Avatar
 
elite*gold: 49
Join Date: Sep 2008
Posts: 906
Received Thanks: 600
Mach das ganze doch über nen AJAX-Request. Lässt sich viel sauberer realisieren und du hast keinen page reload..
ThinSmoke is offline  
Old 07/22/2014, 10:44   #8

 
elite*gold: 150
Join Date: May 2009
Posts: 2,497
Received Thanks: 304
Wie ThinSmoke bereits sagte, über nen AJAX Request das Formular abschicken (unterbindet den Redirect) und nen leeres Div an dem Platz wo die Meldung hinsoll definieren, die Antwort vom Ajax Request mit .Html(variable) setzen.
Baaam01 is offline  
Reply


Similar Threads Similar Threads
Suche nach dem namen eines Filmes
07/14/2013 - Movies & Series - 4 Replies
Moinsen ... Es gab doch mal so einen Film, in dem einer so n' Multimilliardär oder so ist. Er hat einen Sohn und ne riesen Villa, inklusive einer Wasserrutsche vom Haus ins Schwimmbecken aufm Sitzplatz oder irgendwie so. Adam Sandler hat darin glaube ich mitgespielt, bin mir da aber nicht 100% sicher. Weiss einer vielleicht wie der Film heisst?
Ohne Ende Fehler Meldungen bitte um hilfe
12/12/2010 - Metin2 Private Server - 5 Replies
Habe ohne ende diese fehler meldung : HELP PLS ! http://oi51.tinypic.com/iggh7l.jpg
[How2]Shutdown absenden ._.
09/19/2010 - Metin2 PServer Guides & Strategies - 77 Replies
So, der Thread basiert auf Lolkids und Computerfreeks methode! Wer zu faul ist dort alle seiten zu lesen kanne s auch hier entnehmen. Ich will auch KEINE THX dafü! Also, als erstes erstellt ne php datei mit folgendem inhalt:
[PHP] Verbesserung zum Shutdowns absenden.
09/14/2010 - Metin2 PServer Guides & Strategies - 26 Replies
Hallu. Da nun eh das meiste publick ist, mache ich hier mal einen vernünften PHP Code pub, ohne das man ständig IP wechseln muss ;O @Flamer, es basiert ebenfals auf Nico's Tool, aber es ist es nicht... <?php if($_GET=="shutdown") {



All times are GMT +2. The time now is 05:28.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.