Fehlermeldungdarf nicht beim Betreten der Seite erscheinen.

Hallo zusammen.

Ich hab da eine Frage / ein Problem. :-(

Zuerst einmal: Ich bin totaler PHP-Anfänger...

Also: Ich habe ein Eingabeformular mit 3 Eingabefeldern erstellt.

Code:
	<form name="Register" action="register.php" method="post">
	<table>
		<tr>
			<td colspan="2">
				Bitte geben Sie einen Benutzernamen und das gewünschte Passwort an:</td>
		</tr>
		<tr>
			<td>
				Benutzername:</td>
			<td>
				<input type="text" name="new_user"></td>
		</tr>
		<tr>
			<td>
				Passwort:</td>
			<td>
				<input type="password" name="new_pwd1"></td>
		</tr>
		<tr>
			<td>
				Passwort wiederholen:</td>
			<td>
				<input type="password" name="new_pwd2"></td>
		</tr>
		<tr>
			<td colspan="2" valign="right">
				<input type="submit" value="Benutzer erstellen"></td>
		</tr>
	</table>
	</form>

Nun soll geprüft werden, ob auch schön alle Felder ausgefüllt wurden.
Das action-Attribut ist die gleiche PHP-Datei, auf die sich der Benutzer auch schon befindet. Also hab ich hinter den oben dargestellten Code folgende PHP-Zeilen eingefügt:

Code:
	<?php

		$new_user = $HTTP_POST_VARS['new_user'];
		$new_pwd1 = $HTTP_POST_VARS['new_pwd1'];
		$new_pwd2 = $HTTP_POST_VARS['new_pwd2'];
		
		if($new_user=="" || $new_pwd1=="" || $new_pwd2=="") {
			echo "<font color='ff0000'>Bitte alle Felder ausfüllen.</font>";
		}
		elseif($new_pwd1!=$new_pwd2) {
			echo "<font color='ff0000'>Der Inhalt der Felder PASSWORT muss gleich sein.</font>";
		}

	?>

Die Fehlermeldungen bringt er auch korrekt.

ABER: Die Fehlermeldung steht bereits beim Betreten der Seite da. (Klar, es ist dann ja auch noch kein Feld gefüllt) Wie kann man das aber nun umgehen? :confused:

Danke für die Hilfe schonmal!
 
Da gibt es Unmengen von Lösungen ich verwende die hier:

Code:
<input type="submit" name="send" value="Benutzer erstellen">

PHP:
if (isset($_post[send]))
{
        $new_user = $_post['new_user'];
	$new_pwd1 = $_post['new_pwd1'];
	$new_pwd2 = $_post['new_pwd2'];

deine if abfragen usw
}

Du musst einfach eine Bedignung stellen wann die Überprüfung stattfindet...
 
Zurück