formular aber es gibt keine fehlermeldung ,aus und den $POST auch nicht

Kurt Cobain

Erfahrenes Mitglied
tag

hab hier n formular gemacht, der aber nochnicht :
PHP:
                                                                                <!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
<title>Tab</title>
<meta name="author" content="Manuel">
<meta name="generator" content="Ulli Meybohms HTML EDITOR">
<link rel="stylesheet" href="./dateien/css.css" type="text/css">

</head>
<body text="#FFFFFF" bgcolor="#000000" link="#FF0000" alink="#FF0000" vlink="#FF0000">
 <?
include ("./dateien/inc/menuoben.php");
?>

  <center><div class="bold">[<code class="old">formular</code>]</div></center>

              <?php if(!isset($_POST['submit'])) { ?>
<form action="login.php" method="post">
<code>Username:</code>    <br>
<input type="text" class="input" size="50" maxlength="50"
name="username"><br> <br><hr style="border: 1px solid #4F4F4F"><br>



<code>Password:</code><br>
<input type="password" class="input" size="50" maxlength="50"
name="password"><br> <br><hr style="border: 1px solid #4F4F4F"><br>


<center><input type="submit" value="&gt;&gt; login &gt;&gt;" class="button">
  </center>
</form>
       <?php
  }elseif(!$_POST['username'] || $_POST['username'] == "" || !$_POST['password'] || $_POST['password'] == "") {
  ?>
  fehler  beim formular
  <form action="login.php" method="post">
<code>Username:</code>    <br>
<input type="text" class="input" size="50" maxlength="50"
name="username"><br> <br><hr style="border: 1px solid #4F4F4F"><br>



<code>Password:</code><br>
<input type="password" class="input" size="50" maxlength="50"
name="password"><br> <br><hr style="border: 1px solid #4F4F4F"><br>


<center><input type="submit" value="&gt;&gt; login &gt;&gt;" class="button">
  </center>
</form>

    <?
  }else{
echo $_POST['username'];

  }
  ?>






<?
include ("./dateien/inc/menuunten.php");
?>
</body>
</html>

fehler:
1. wenn die felder leer sind gibt er keine fehlermeldung aus
2. er gibt $_POST['username'] nicht aus


was sit falsch
 
Erhöhe mal mit folgendem Code-Schnipsel die Sensibilität der Fehlerbehandlung:
PHP:
<?php

	ini_set('display_errors', 1);
	ini_set('error_reporting', E_ALL);

	…

?>
 
Mein Vorschlag:
PHP:
<?php

	ini_set('display_errors', 1);
	ini_set('error_reporting', E_ALL); 

?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
	"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
	<title>Tab</title>
	<link rel="stylesheet" href="./dateien/css.css" type="text/css">
</head>


<body>
<?php

	include './dateien/inc/menuoben.php';

?>

<h1>[formular]</h1>

<?php

	if( isset($_POST['submit']) ) {

		$form_errors = array();

		$_POST['username'] = ( isset($_POST['username']) && trim($_POST['username'])!=='' )
			? trim($_POST['username'])
			: null;
		$_POST['password'] = ( isset($_POST['password']) && trim($_POST['password'])!=='' )
			? trim($_POST['password'])
			: null;

		if( is_null($_POST['username']) ) {
			$form_errors[] = array('text:username', 'Fehleingabe des Benutzernames!', 'Bitte geben Sie Ihren Benutzernamen ein.');
		}
		if( is_null($_POST['password']) ) {
			$form_errors[] = array('text:password', 'Fehleingabe des Passworts!', 'Bitte geben Sie Ihr zu Ihrem Benutzernamen gehöriges Passwort ein.');
		}

		if( count($form_errors) > 0 ) {
			echo '<ul>';
			foreach( $form_errors as $error ) {
				echo '<li><dl><dt><strong><a href="#'.$error[0].'">'.$error[1].'</a></strong></dt><dd>'.$error[2].'</dd></dl></li>';
			}
			echo '</ul>';
		}

	}

?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" accept-charset="utf-8">
	<p><label for="text:username">Username</label>
		<input type="text" id="text:username" name="username">
	</p>
	<p><label for="text:password">Password</label>
		<input type="password" id="text:password" name="password">
	</p>
	<p><input type="submit" name="submit" value="&gt;&gt; login &gt;&gt;"></p>
</form>
<?php

	if( count($form_errors) <= 0 ) {

		echo $_POST['username'];

	}

	include './dateien/inc/menuunten.php';

?>
</body>
</html>
Ich hab den ganzen Quellcode etwas entschlackt und etwas benutzungsfreundlicher gestaltet.
 
Zurück