Keine Ahnung von $_GET?!

Sweetlover

Mitglied
PHP:
<?php
if($_GET["login"] == 1)
{
	if(empty($_GET["nickname"]))
	{
		echo "Bitte Nicknamen eingeben!";
		back_button();
		exit();
	}
	elseif(empty($_GET["password"]))
	{
		echo "Bitte Password eingeben!";
		back_button();
		exit();
	}
	else
	{
		// einloggen
	}
}
?>
<form action="<?php $PHP_SELF; ?>?login=1" method="post">
<input type="text" name="nickname" maxlength="15">
<input type="password" name="password" maxlength="16">
<input type="submit" value="Community">
</form>

Warum sagt der Browser trotzdem, dass man einen Nicknamen eingeben muss, wenn dieser bereits eingegeben worden ist

Mir ist aufgefallen, dass wenn ich einfach folgendes abfrage:
if($nickname == "")
alles funktioniert..

Wo liegt nun mein Fehler?
 
MuH ! Schau ma dein Forumular an... !

method="post"
Folglich:

PHP:
<?php 
if($_GET["login"] == 1) 
{ 
    if(empty($_POST["nickname"])) 
    { 
        echo "Bitte Nicknamen eingeben!"; 
        back_button(); 
        exit(); 
    } 
    elseif(empty($_POST["password"])) 
    { 
        echo "Bitte Password eingeben!"; 
        back_button(); 
        exit(); 
    } 
    else 
    { 
        // einloggen 
    } 
} 
?>


mfh mAu
 
Wenn ich es auf Get ändere funktioniert es gar nicht mehr.. er reloaded nur noch die seite.. wie sollte ich das denn ab besten lösen?
 
PHP:
<?php 
if($_GET["login"] == 1) 
{ 
    if(empty($_POST["nickname"])) 
    { 
        echo "Bitte Nicknamen eingeben!"; 
        back_button(); 
        exit(); 
    } 
    elseif(empty($_POST["password"])) 
    { 
        echo "Bitte Password eingeben!"; 
        back_button(); 
        exit(); 
    } 
    else 
    { 
        // einloggen 
    } 
} 
?> 
<form action="<?php $PHP_SELF; ?>?login=1" method="POST"> 
<input type="text" name="nickname" maxlength="15"> 
<input type="password" name="password" maxlength="16"> 
<input type="submit" value="Community"> 
</form>

Sollte so gehen !

mfg mAu
 
Ich hätte es vielleicht etwas sicherheitsbewusster gestaltet:
PHP:
<?php
  $login = ( isset($_POST['login']) && !empty($_POST['login']) && (trim($_POST['login'])!="") ) 
    ? $_POST['login'] 
    : FALSE;
  $nickname = ( isset($_POST['nickname']) && !empty($_POST['nickname']) && (trim($_POST['nickname'])!="") ) 
    ? $_POST['nickname'] 
    : FALSE;
  $password = ( isset($_POST['password']) && !empty($_POST['password']) && (trim($_POST['password'])!="") ) 
    ? $_POST['password'] 
    : FALSE;
  $error = FALSE;

  if($login != FALSE) {
    if($nickname == FALSE) {
      $error = TRUE;
      echo("Bitte Nichnamen eingeben!");
    }
    if($password == FALSE) {
      $error = TRUE;
      echo("Bitte Passwort eingeben!");
    }

    if($error == TRUE) {
      back_button();
    } else {
      /einloggen
    }
  } else {
?>
<form action="<?php echo($PHP_SELF); ?>" method="POST">
  <input type="hidden" name="login" value="TRUE">
  <input type="text" name="nickname" maxlength="15">
  <input type="password" name="password" maxlength="16">
  <input type="submit" value="Community">
</form>
<?php
  }
?>
 
Zurück