PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP <||> Registrations Bedingungen



eXydoS
05.10.2007, 13:17
Ich hab da mal ne Frage für 'nen kollegen

Undzwar mein Freund will ein Simples Registrations Script machen und Findet
net den Fehler ... könnt ihr mir helfen?


<?php
$username = $_POST["username"];
$passwort1 = $_POST["passwort1"];
$pw1 = md5($passwort1);
$passwort2 = $_POST["passwort2"];
$pw2 = md5($passwort2);
$email = $_POST["email"];
if($email=="" OR $passwort=="" OR $username=="" OR $pw1!=$pw2 and empty($_POST['anb_accept']) and

$_POST['anb_accept'] == 'true') {
echo "Es Müssen alle Felder ausgefüllt sein!";
}
elseif (empty($_POST['anb_accept'])) {
echo "ANBs müssen akzeptiert werden!";
}
elseif (eregi("@",$email)== false) {
echo "Die emailadresse ist ungültig";
}
elseif ($pw1!=$pw2) {
echo"Die Passwörter stimmen nicht überein!";
}
else {
echo "Vielen Danke für ihr Regestrierung. Viel spaß bei Party-War";
}
?>

Floo
05.10.2007, 14:02
Und die Fehlermeldung lautet ?

Lord von dü
05.10.2007, 14:14
gibt keine... das dumme ist das IMMER wirklich immer es müssen alle felder ausgefüllt sein kommt.. und das kann ja nicht sein...

PS: ich bin der kumpel :)

eXydoS
05.10.2007, 14:17
so Das War mein Kumpel ich übersetz das Nochmal auf Deutsch... ;)

Man soll ja alles ausfüllen Müssen damit es klappt.
Sein Problem ist das egal ob er alle ausfüllt oder Nicht.
Es kommt immer der Fehler Alle Felder MÜssen ausgefüllt werden
wisst ihr WARUM? :wink: :wink:

mfg. eXe

H4x0r007
05.10.2007, 14:18
PHP kennt kein OR oder AND.

OR = ||
AND = &&

und beim ersten if-befehl darf keine Leerzeile sein. das and (also &&) gehört genauso noch dazu und muss in der selben Zeile stehen

Lord von dü
05.10.2007, 14:22
anscheint schon denn davor kam ja immer noch was nun kommt wenn ich das mache:


$username = $_POST["username"];
$passwort1 = $_POST["passwort1"];
$pw1 = md5($passwort1);
$passwort2 = $_POST["passwort2"];
$pw2 = md5($passwort2);
$email = $_POST["email"];
if($email=="" OR $passwort=="" || $username=="" $pw1!=$pw2 && empty($_POST['anb_accept']) &&
$_POST['anb_accept'] == 'true') {
echo "Es Müssen alle Felder ausgefüllt sein!";
}
elseif (empty($_POST['anb_accept'])) {
echo "ANBs müssen akzeptiert werden!";
}
elseif (eregi("@",$email)== false) {
echo "Die emailadresse ist ungültig";
}
elseif ($pw1!=$pw2) {
echo"Die Passwörter stimmen nicht überein!";
}
else {
echo "Vielen Danke für ihr Regestrierung. Viel spaß bei Party-War";
}
?>

Parse error: syntax error, unexpected T_VARIABLE in /home/www/web155/html/lord/regi2.php on line 8

...

H4x0r007
05.10.2007, 14:29
Bitte ändere [php] zu [code], damit es funktioniert. Vielleicht bist du vBulletin Boards gewöhnt, aber das hier ist phpBB und da funktioniert sowas nicht.

echoslider
05.10.2007, 14:39
ungetestet müsste das hier funzen.


<?php
if(isset($_POST['username']) && isset($_POST['passwort1']) && isset($_POST['passwort2']) && isset($_POST['email']) && $_POST['username']!="" && $_POST['passwort1']!="" && $_POST['passwort2']!="" && $_POST['email']!="" && $_POST['anb_accept']!=false)
{
$username = $_POST['username'];
$passwort1 = $_POST['passwort1'];
$pw1 = md5($passwort1);
$passwort2 = $_POST['passwort2'];
$pw2 = md5($passwort2);
$email = $_POST['email'];

//code der ausgeführt wird z.b mysql einträge,email,....


echo "Vielen Danke für ihr Regestrierung. Viel spaß bei Party-War";
}
else
{

if($_POST['anb_accept']==false)
{
echo "ANBs müssen akzeptiert werden!
";
}

if(isset($_POST['email']))
{
if (eregi("@",$_POST['email'])== false)
{
echo "Die emailadresse ist ungültig
";
}
}
else
{
echo "Die emailadresse ist ungültig
";
}

if($_POST['passwort1']!=$_POST['passwort2'])
{
echo"Die Passwörter stimmen nicht überein!
";
}

echo "Es Müssen alle Felder ausgefüllt sein!";
}
?>

Lord von dü
05.10.2007, 15:21
nope... wenn man allles macht kommt trotzdem :

Die Passwörter stimmen nicht überein!
Es Müssen alle Felder ausgefüllt sein!

Mericon
06.10.2007, 14:42
// Wenn das Formular abgeschickt wurde, füre den Inhalt der Klammern aus aus.

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

// allesok wird auf 1 gesetzt, bekommt also einen Wert. Später wird damit abgefragt, ob Name und Email ausgefüllt wurden.

$allesok = 1;

// Hier wird geprüft ob Name leer ist. Ist dies der Fall, wird allesok auf 0 gesetzt (Kein Wert mehr) und ein Fehlertext erstellt, der im Formular ausgegeben wird.

if(empty($_POST['username'])){
$allesok = 0;
echo "Bitte einen Usernamen eingeben!";}

//Hier wird geprüft ob Email leer ist. Ist dies der Fall, wird allesok auf 0 gesetzt (Kein Wert mehr) und ein Fehlertext erstellt, der im Formular ausgegeben wird.

if(empty($_POST['email'])){
$allesok = 0;
echo "Bitte eine Email-Adresse eingeben!";}

if(empty($_POST['passwort1'])){
$allesok = 0;
echo "Bitte dein Passwort eingeben!";}

if(empty($_POST['passwort2'])){
$allesok = 0;
echo "Bitte dein Passwort wiederholen!";}

if($_POST['pass'] != $_POST['passwd']){
$allesok = 0;
echo "Die Passwoerter Stimmen nicht ueberein!";}

if($_POST['anb_accept'] == false){
$allesok = 0;
echo "ANBs müssen akzeptiert werden!
";}

if (eregi("@",$_POST['email'])== false)
{
$allesok = 0;
echo "Die emailadresse ist ungültig
";
}

// Hier wird die IF-Bedingung von ganz oben geschlossen.

}

// Hier wird geprüft ob allesok einen Wert hat. (1) Ist dies der Fall, können die Variablen $_POST['name'] und $_POST['email'] weiter verarbeitet werden.

if($allesok){

// Überprüfte Eingaben aus dem Formular ausgeben. An dieser Stelle kann auch mit Mysql gearbeitet werden oder so etwas...

// Hier wird die IF-Bedingung von oben geschlossen

}


is formular das hier noch einfügen und dann sollte mein code funktionieren hoffe ist selbsterklärend.


<input type="hidden" name="ueberpruefung" value="1">

JambaRatte
08.10.2007, 21:56
<?php
$username = $_POST["username"];
$passwort1 = $_POST["passwort1"];
$pw1 = md5($passwort1);
$passwort2 = $_POST["passwort2"];
$pw2 = md5($passwort2);
$email = $_POST["email"];
if($email=="" OR $passwort=="" OR $username=="" OR $pw1!=$pw2 and empty($_POST['anb_accept']) and

$_POST['anb_accept'] == 'true') {
echo "Es Müssen alle Felder ausgefüllt sein!";
}
elseif (empty($_POST['anb_accept'])) {
echo "ANBs müssen akzeptiert werden!";
}
elseif (eregi("@",$email)== false) {
echo "Die emailadresse ist ungültig";
}
elseif ($pw1!=$pw2) {
echo"Die Passwörter stimmen nicht überein!";
}
else {
echo "Vielen Danke für ihr Regestrierung. Viel spaß bei Party-War";
}
?>


*** Unbekannte variable
*** Wiederspruch


PHP kennt kein OR oder AND.

OR = ||
AND = &&

und beim ersten if-befehl darf keine Leerzeile sein. das and (also &&) gehört genauso noch dazu und muss in der selben Zeile stehen
Beide aussagen sind falsch,
AND, OR, XOR, ... gibts
if (true
&& true
&& true) geht auch