Registrierungs-Formular

Ulala

Grünschnabel
Hallo,

ich stehe vor einem Problem, wahrscheinlich ist es zwar Pipifax, aber ich komm einfach nicht drauf, wie ich das lösen soll.
Und zwar habe ich ein Registrierungsformular, das einige Pflichtfelder beinhaltet.
Außerdem möchte ich natürlich auch in der Datenbank abfragen, ob der Benutzername schon vorhanden ist....

soweit so gut... alles funktioniert, auch die eigentliche Abfrage, ob der Benutzername vorhanden ist.
ABER:
ich muss bei einem neuen Benutzernamen immer zweimal den WEITER-Button drücken..
und ich weiss nicht WARUM.... HILFE

Code:
<?php
session_start();   
       
if ( (isset ($_POST["send"]) and 
		!empty($_POST["send"]["benutzername"]) and ($_POST["send"]["vorhanden"]=="neu") and
        !empty($_POST["send"]["passwort"]) and
        !empty($_POST["send"]["wpasswort"]) and
        !empty($_POST["send"]["name"]) and
        !empty($_POST["send"]["vorname"]) and
        !empty($_POST["send"]["strasse"]) and
        !empty($_POST["send"]["hausnr"]) and
        !empty($_POST["send"]["ort"]) and
        !empty($_POST["send"]["plz"]) and
        !empty($_POST["send"]["telefon"]) and
        !empty($_POST["send"]["email"]) and
		($_POST["send"]["passwort"]==$_POST["send"]["wpasswort"]) and
		($_POST["send"]["benutzername"]!=$_POST["send"]["passwort"]) and
		(strlen($_POST["send"]["passwort"])>8) and
		(strlen($_POST["send"]["passwort"])<16)
		 )	)		
		
		
	

        {
			
			$_SESSION["benutzername"]=$_POST["send"]["benutzername"];
        	$_SESSION["passwort"]=$_POST["send"]["passwort"];
        	$_SESSION["name"]=$_POST["send"]["name"];
        	$_SESSION["vorname"]=$_POST["send"]["vorname"];
        	$_SESSION["strasse"]=$_POST["send"]["strasse"];
        	$_SESSION["hausnr"]=$_POST["send"]["hausnr"];
        	$_SESSION["ort"]=$_POST["send"]["ort"];
        	$_SESSION["plz"]=$_POST["send"]["plz"];
        	$_SESSION["firma"]=$_POST["send"]["firma"];
        	$_SESSION["telefon"]=$_POST["send"]["telefon"];
        	$_SESSION["fax"]=$_POST["send"]["fax"];
        	$_SESSION["mobil"]=$_POST["send"]["mobil"];
        	$_SESSION["email"]=$_POST["send"]["email"];
        	$_SESSION["url"]=$_POST["send"]["url"];
        	$_SESSION["eintritt"]=$_POST["send"]["eintritt"];
        	        	 
    header('Location: bankdaten2.php');
 
} 

       

else { 
	include 'sessionhelpers.inc.php';   
	connect();
?>
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
<title>Registrierung</title>


</head>
<body>

<form action="<?php echo $PHP_SELF;?>" method="post" target="_self" >
<br>
-----------------------------------------------------------------------
<br>
Benutzername:

<?php 

if(isset($_POST["send"]) && is_array($_POST["send"])) {
		$selectbenutzer=$_POST["send"]["benutzername"];
		$result = mysql_query("SELECT `KundenID` FROM `Kunden` WHERE `BenutzerName`='".$selectbenutzer."'");
			
		if(empty($_POST["send"]["benutzername"])){
			echo '<font color="red">*</font>';
			$_SESSION["benutzername"]=$_POST["send"]["benutzername"];
		} else {
			if(mysql_num_rows($result)!=0){
				echo '<font color="red">*</font>';
				echo 'Benutzername bereits vergeben!';
				echo '<input type="hidden" id="vorhanden" name="send[vorhanden]" value="vorhanden">';
				$_SESSION["benutzername"]=$_POST["send"]["benutzername"];
			} else{
				echo '*';
				$_SESSION["benutzername"]=$_POST["send"]["benutzername"];
				echo '<input type="hidden" id="vorhanden" name="send[vorhanden]" value="neu">';
			}
}
}else echo '*';
?><br>

<input name='send[benutzername]' type='text' id="benutzername" size='22' value="<?php echo $_SESSION["benutzername"] ; ?>">
<br>------------------------------------------------------------------------


...

kann mir jemand helfen
 
PHP:
...
($_POST["send"]["passwort"]==$_POST["send"]["wpasswort"]) and
($_POST["send"]["benutzername"]!=$_POST["send"]["passwort"]) and
(strlen($_POST["send"]["passwort"])>8) and
(strlen($_POST["send"]["passwort"])<16)
) ) 
...

Was wird das?
Wieso packst du die Vergleiche in einen Block und wieso wird die If-Bedingung mit 2 Klammern geschlossen

edit:
PHP:
if(isset($_POST["send"]) && is_array($_POST["send"])) {
Auch so eine unsinnige Abfrage.

mfg
dmx
 
Zuletzt bearbeitet:
@Darkman:
Wenn Du hier mal die oeffnenden und schliessenden Klammern zaehlst dann siehst Du warum am Ende 2 mal geschlossen wird.
PHP:
if(isset($_POST["send"]) && is_array($_POST["send"]))
 
Guten Morgen,

vielleicht noch zur Ergänzung....
ich möchte, dass wenn entweder ein Pflichtfeld nicht ausgefüllt ist, oder falsch ausgefüllt ist, dass sich der * (für Pflichtfeld) durch einen roten Stern ersetzt wird.
erst wenn alles richtig ausgefüllt ist, dann soll ins nächste Formular gesprungen werden.

@DarkManX: Für sowas muss ich doch einen Block machen, oder ?
 
reptiler hat gesagt.:
@Darkman:
Wenn Du hier mal die oeffnenden und schliessenden Klammern zaehlst dann siehst Du warum am Ende 2 mal geschlossen wird.
PHP:
if(isset($_POST["send"]) && is_array($_POST["send"]))

Näh, lag nur daran, dass er die IF-Bebindung in einen Block gepackt hat, fragt sich nur wozu... :suspekt:
Außerdem nah ich auf den ersten PHP-Code Bezug.

In der Bebindung prüft die Abfrage ob alle Vergleiche "true" ergeben.
Die Blöcke sind da völlig unsinnig...

Aber das löst dein Problem nicht. Ich würde lieber mit Funktionen arbeiten und vorallen den Code hier im Forum in den [ code=php ]-Tag setzten.

mfg
dmx
 
ok, muss man auch erstmal kapieren, wann das hier entsprechend formatiert wird....
evoila...



PHP:
<?php
session_start(); 

if ( (isset ($_POST["send"]) and 
!empty($_POST["send"]["benutzername"]) and ($_POST["send"]["vorhanden"]=="neu") and
!empty($_POST["send"]["passwort"]) and
!empty($_POST["send"]["wpasswort"]) and
!empty($_POST["send"]["name"]) and
!empty($_POST["send"]["vorname"]) and
!empty($_POST["send"]["strasse"]) and
!empty($_POST["send"]["hausnr"]) and
!empty($_POST["send"]["ort"]) and
!empty($_POST["send"]["plz"]) and
!empty($_POST["send"]["telefon"]) and
!empty($_POST["send"]["email"]) and
($_POST["send"]["passwort"]==$_POST["send"]["wpasswort"]) and
($_POST["send"]["benutzername"]!=$_POST["send"]["passwort"]) and
(strlen($_POST["send"]["passwort"])>8) and
(strlen($_POST["send"]["passwort"])<16)
) ) 




{

$_SESSION["benutzername"]=$_POST["send"]["benutzername"];
$_SESSION["passwort"]=$_POST["send"]["passwort"];
$_SESSION["name"]=$_POST["send"]["name"];
$_SESSION["vorname"]=$_POST["send"]["vorname"];
$_SESSION["strasse"]=$_POST["send"]["strasse"];
$_SESSION["hausnr"]=$_POST["send"]["hausnr"];
$_SESSION["ort"]=$_POST["send"]["ort"];
$_SESSION["plz"]=$_POST["send"]["plz"];
$_SESSION["firma"]=$_POST["send"]["firma"];
$_SESSION["telefon"]=$_POST["send"]["telefon"];
$_SESSION["fax"]=$_POST["send"]["fax"];
$_SESSION["mobil"]=$_POST["send"]["mobil"];
$_SESSION["email"]=$_POST["send"]["email"];
$_SESSION["url"]=$_POST["send"]["url"];
$_SESSION["eintritt"]=$_POST["send"]["eintritt"];

header('Location: bankdaten2.php');

} 



else { 
include 'sessionhelpers.inc.php'; 
connect();
?>
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
<title>Registrierung</title>


</head>
<body>

<form action="<?php echo $PHP_SELF;?>" method="post" target="_self" >
<br>
-----------------------------------------------------------------------
<br>
Benutzername:

<?php 

if(isset($_POST["send"]) && is_array($_POST["send"])) {
$selectbenutzer=$_POST["send"]["benutzername"];
$result = mysql_query("SELECT `KundenID` FROM `Kunden` WHERE `BenutzerName`='".$selectbenutzer."'");

if(empty($_POST["send"]["benutzername"])){
echo '<font color="red">*</font>';
$_SESSION["benutzername"]=$_POST["send"]["benutzername"];
} else {
if(mysql_num_rows($result)!=0){
echo '<font color="red">*</font>';
echo 'Benutzername bereits vergeben!';
echo '<input type="hidden" id="vorhanden" name="send[vorhanden]" value="vorhanden">';
$_SESSION["benutzername"]=$_POST["send"]["benutzername"];
} else{
echo '*';
$_SESSION["benutzername"]=$_POST["send"]["benutzername"];
echo '<input type="hidden" id="vorhanden" name="send[vorhanden]" value="neu">';
}
}
}else echo '*';
?><br>

<input name='send[benutzername]' type='text' id="benutzername" size='22' value="<?php echo $_SESSION["benutzername"] ; ?>">
<br>------------------------------------------------------------------------
 
Zurück