IF PRoblem ...

Heyho!

Ich hab heute mal ein kniffligeres Problem, deswegen tuts mir leid schonwieder fragen zu müssen aber ich hoffe mir hilft trotzdem noch wer :D

Ich möchte das bei meinem Loginscript der Satz bsp."Sie müssen auch einen Usernamen angeben" oder "Akzeptieren Sie zuerst die AgBs" dann erscheint wenn jemand vergisst etwas einzutragen.
Mein Problem bei der Sache ist das das Script es mir gleich ausgibt wenn ich es anwähle,denn da sind die Daten ja NOCH leer.

Hat jemand eine Idee?
Ich hab n bissel mit $_POST($pwd != $pwd2) rumgespielt aber funzt nichts.

Danke und MfG,

euer

Teekay
 
hmm es gibt auf diversen php seiten tutorials zu dem thema aber ick gugg mal fix
*such*
http://www.phpforum.de/tutorials/index.php?sid=85865&aktion=artikel&rubrik=002002&id=7&lang=de
das ist zwar net genau das was ick meinte aber schau dich ml auf der site um ist ganz gut und findet doch den einen oder anderen codeschnipsel


--------edit---------
was mir einfällt wenn du wat machen willst was erst geschieht nach dem fas formular abgeschickt wurden ist - prüf doch einfach ob der submit button gedrückt wurden ist...
 
Original von TeeKayo2
Ich möchte das bei meinem Loginscript der Satz bsp."Sie müssen auch einen Usernamen angeben" oder "Akzeptieren Sie zuerst die AgBs" dann erscheint wenn jemand vergisst etwas einzutragen.
Mein Problem bei der Sache ist das das Script es mir gleich ausgibt wenn ich es anwähle,denn da sind die Daten ja NOCH leer.

Hat jemand eine Idee?
Ich hab n bissel mit $_POST($pwd != $pwd2) rumgespielt aber funzt nichts.

Hi, so wie ich das vestanden habe willst du, sobald jemand das Anmelde Formular abschickt die Fehlermeldung kommt?

Wenn ja, dann musst du bei dem Klick auf den "Absenden" Button eine neue Site aufrufen, die das Script enthält.

Da PHP eine Serverseitige Sprache ist, kann die überprüfung erst stattfinfen, wenn das Formular abgeschickt wurde. Du kannst das nicht verwirklichen, indem du das Script auf die Seite des Anmeldeformulars packst.


MfG
justj
 
Naja...Man könnte ein Wort oder eine Zahl, oder halt irgendetwas in eine Textdatei schreiben beim 1. Aufruf der Seite, dann sind die Formulare noch leer. Wenn du nun bevor das Skript ausgeführt wird überprüfst, was in der Datei steht, und nach Beendigung des Skriptinhalts eine andere Sache in die Datei geschrieben wird, so kannst du eine Überprüfung im gleichen Skript realisieren.

Das ganze halte ich aber f+r Unsinn, drum leg das Skript besser in eine andere Datei.

mfg $oul
 
8o

Da PHP eine Serverseitige Sprache ist, kann die überprüfung erst stattfinfen, wenn das Formular abgeschickt wurde. Du kannst das nicht verwirklichen, indem du das Script auf die Seite des Anmeldeformulars packst.

Ich bin auch dämlich :rolleyes: klar.
Sollte mir da ne fixe JS Lösung ausdenken oder auslagern, danke leute!

MfG,

TKo?
 
Also erstmal:
Deine Idee ist ja schön und gut, aber was, wenn nun bereits jemand das Formular geöffnet, aber noch nicht abgeschickt hat?
Dann landet der nächste direckt bei der auswertung.
Das geht wie oben bereits geschrieben indem du einfach prüfst, ob der Submit-Button gedrückt wurde:
<input type="submit" name="send" value="Absenden">
Dann einfach mit PHP:
PHP:
<?php
if(isset($_REQUEST['send'])){
//auswertung der Form-einträge
}
?>
 
Ich würde für sowas nie(!!) JS benutzen wäre mir viel zu umständlich und viel zu leicht manipulierbar. Der Aufwand lohnt sich nicht somal nicht jeder JS aktiviert hat.
Mach es lieber so wie ich es oben beschrieben habe ist erstens die sicherste(?) und zweitens die beste Methode wie ich finde.
Wenn du magst kann ich heute Abend bei mir daheim mal nach nem Beispiel Quellcode schauen - dürfte irgend wo sowas noch haben. (schick einfach ne pm an mich damit ich es nicht vergesse)
 
Hi,
aaaaalso....

PHP:
<?php

if ($pwd == $pwd2 AND (!empty($name)) AND (!empty($pwd)) AND (!empty($email)) AND (!empty($check)))  {

$connect = mysql_connect ("localhost","root","passwort")  or die ("Keine Verbindung möglich - Benutzername oder Passwort ist falsch ... vll auch der table?!");
mysql_select_db ("user")or die ("Die Datenbank existiert nicht.");
mysql_query("INSERT INTO `user` (`user`, `passwort`,`email`) VALUES ('$name', '$pwd', '$email')");
echo '<head><meta http-equiv="refresh" content="0; url=http://localhost/deine_geschützte_seite.html"></head>';
}
if(isset($_REQUEST['absend'])) {

if (isset($_REQUEST['absend']) {
(empty($_REQUEST['pwd']) OR empty($_REQUEST['pwd2']) OR empty($_REQUEST['name']) OR empty($_REQUEST['email'])OR empty($_REQUEST['check'])) }
}
echo (isset($_REQUEST['absend']) "Bitte überprüfen Sie ihre Eingaben!";  }

?>

Es geht nicht :(


Tko?
 
ich überprüf das immer so:

PHP:
if(isset($_POST['senden']))
{
     //formular verarbeitung
}
else
{
     //anzeigen des Formulars
}
 
PHP:
<?php

if ($pwd == $pwd2 AND (!empty($name)) AND (!empty($pwd)) AND (!empty($email)) AND (!empty($check))) 
 {
$connect = mysql_connect ("localhost","root","passwort")  or die ("Keine Verbindung möglich - Benutzername oder Passwort ist falsch ... vll auch der table?!");
mysql_select_db ("user")or die ("Die Datenbank existiert nicht.");
mysql_query("INSERT INTO `user` (`user`, `passwort`,`email`) VALUES ('$name', '$pwd', '$email')");

echo '<head><meta http-equiv="refresh" content="0; url=http://localhost/deine_geschützte_seite.html"></head>';
}
print('Bitte überprüfen sie ihre Eingabe.');
}


?>

achja bei:
PHP:
if ($pwd == $pwd2 AND (!empty($name)) AND (!empty($pwd)) AND (!empty($email)) AND (!empty($check)))

arbeite dort lieber z.b. mit $_POST[name] wenn du im formular mit der methode POST machst ansonsten halt $_GET[name]


wenn du die daten jetzt ins formular einträgst dann packt er in die db die daten ein und leitet einen zu einer "geschützten" seite? (ist das so beabsichtigt?)
 
Original von Oi!Alex
achja bei:
PHP:
if ($pwd == $pwd2 AND (!empty($name)) AND (!empty($pwd)) AND (!empty($email)) AND (!empty($check)))

arbeite dort lieber z.b. mit $_POST[name] wenn du im formular mit der methode POST machst ansonsten halt $_GET[name]

btw: nimm die empty aufrufe an den anfang....ansonsten bringt '(!empty($pwd))' nicht sehr viel und bei nem nichtgesetzten pw gibts ne NOTICE (zumindest bie php5)
 
Hey!

Die "!empty-überprüfung" funktioniert!
Alles andere nicht!

Eure Beispiele leider auch nicht!
Wär vll. ganz cool wenn ihr prüfen würdet was euer code macht bevor ihr postet oder bin ich zu blöd das richtig zusammenzuschneiden und es funktioniert doch?!

Als Bsp.

Leider funzt nichtmal das:

Code:
<?php
if (isset($_POST['send'])) {
echo "Daten wurden gesendet!";   }
?>

Der bloße Test ob der Submittbutton gedrückt wurde funzt schon nicht.

Mein Submit dazu:

Code:
<input type="submit" name="send" method="post" action="anmeldung.php" value="Jetzt anmelden!"></input>

Also für mch siehts richtig aus,nur leider gehts nicht ;)

MfG,

euer,

Tko?
 
probiers so
<form name="logform" action="anmeldung.php" method="post">
<p>Benutzernamen</p>
<input type="Text" name="namen" size="16" maxlength="25">
<p>Passwort</p>
<input type="Password" name="passwort" size="16" maxlength="16"><br>

<p><input type="Submit" name="send" value="Login"></p>
</form>

action und method gehören nicht in den input!
 
ups da war ick zu spät :)
Wär vll. ganz cool wenn ihr prüfen würdet was euer code macht bevor ihr postet oder bin ich zu blöd das richtig zusammenzuschneiden und es funktioniert doch?!
dann poste bitte auch den kompletten quellcode das man fehler wie den auch beheben kann d.h. es sollte funktionieren was ich gepostet hatte...
 
Hi,

Auch so funzt es nicht ...

Code:
<?php

if ($pwd == $pwd2 AND (!empty($name)) AND (!empty($pwd)) AND (!empty($email)) AND (!empty($check)))  {
$connect = mysql_connect ("localhost","root","passwort")  or die ("Keine Verbindung möglich - Benutzername oder Passwort ist falsch");
mysql_select_db ("user")or die ("Die Datenbank existiert nicht.");
mysql_query("INSERT INTO `user` (`user`, `passwort`,`email`) VALUES ('$name', '$pwd', '$email')");
echo '<head><meta http-equiv="refresh" content="0; url=http://localhost/deine_geschützte_seite.html"></head>';
}

if (empty($_POST['send']))  {
echo "Bitte überprüfen Sie ihre Eingaben!";
}
?>
<html>
<head>
<title>anmeldung</title>
<meta name="author" content="sps">
</head>
<body text="#000000" bgcolor="#DddDd0" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<form name="logform"  method="post" action="anmeldung.php">
Wählen Sie ihren <b>Usernamen:</b> <br><input type="text" name="name"></input><br>
Geben Sie hier bitte <b>2x</b> ihr gewünschtes <b>Passwort</b> an:<br><input type="password" name="pwd"></input><input type="password" name="pwd2"></input><br>
Geben Sie hier bitte ihre <b>Emailadresse</b> an:<br><input type="text" name="email"></input>
<br>
<br>
<input type="checkbox" name="check"></input> Ja ich akzeptiere die <a href="www.deineagbs.de">Allgemeinen Geschäftsbedingungen</a>
<br><br>
<input type="submit" name="send" action="anmeldung.php" value="Jetzt anmelden!"></input>
</form>
</body>
</html>

is so der aktuelle stand, und er gibt es leider sofort aus,er guckt garnicht erst oob was mit $_POST zutun haben könnte.
 
probier
<?php

if ($pwd == $pwd2 AND (!empty($name)) AND (!empty($pwd)) AND (!empty($email)) AND (!empty($check))) {
$connect = mysql_connect ("localhost","root","passwort") or die ("Keine Verbindung möglich - Benutzername oder Passwort ist falsch");
mysql_select_db ("user")or die ("Die Datenbank existiert nicht.");
mysql_query("INSERT INTO `user` (`user`, `passwort`,`email`) VALUES ('$name', '$pwd', '$email')");
echo '<head><meta http-equiv="refresh" content="0; url=http://localhost/deine_geschützte_seite.html"></head>';
}

if (empty($_POST['send'])) {
echo "Bitte überprüfen Sie ihre Eingaben!";
}



else {
echo "klar hab ich geprueft aber ich versteh noch kein HTML! Der meta kommt zu frueh! Schliess es in html Tags ein."
}




?>
<html>
<head>
<title>anmeldung</title>
<meta name="author" content="sps">
</head>
<body text="#000000" bgcolor="#DddDd0" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<form name="logform" method="post" action="anmeldung.php">
Wählen Sie ihren <b>Usernamen:</b> <br><input type="text" name="name"></input><br>
Geben Sie hier bitte <b>2x</b> ihr gewünschtes <b>Passwort</b> an:<br><input type="password" name="pwd"></input><input type="password" name="pwd2"></input><br>
Geben Sie hier bitte ihre <b>Emailadresse</b> an:<br><input type="text" name="email"></input>
<br>
<br>
<input type="checkbox" name="check"></input> Ja ich akzeptiere die <a href="www.deineagbs.de">Allgemeinen Geschäftsbedingungen</a>
<br><br>
<input type="submit" name="send" action="anmeldung.php" value="Jetzt anmelden!"></input>
</form>
</body>
</html>
denke das hilft :D
Oder prüft er nicht in die Datenbank?
 
nabend,

meinst du so:
Code:
...
<input type="checkbox" name="check"></input> Ja ich akzeptiere die <a href="www.deineagbs.de">Allgemeinen Geschäftsbedingungen</a>
<br><br>
<input type="submit" name="send" action="anmeldung.php" value="Jetzt anmelden!"></input>
</form>
</body>
<?php

if ($pwd == $pwd2 AND (!empty($name)) AND (!empty($pwd)) AND (!empty($email)) AND (!empty($check)))  {
$connect = mysql_connect ("localhost","root","passwort")  or die ("Keine Verbindung möglich - Benutzername oder Passwort ist falsch ... vll auch der table?!");
mysql_select_db ("user")or die ("Die Datenbank existiert nicht.");
mysql_query("INSERT INTO `user` (`user`, `passwort`,`email`) VALUES ('$name', '$pwd', '$email')");
echo '<head><meta http-equiv="refresh" content="0; url=http://localhost/deine_geschützte_seite.html"></head>';
}

if (empty($_POST['send']))  {
echo "Bitte überprüfen Sie ihre Eingaben!";
}
?>
</html>

Funktioniert nicht.

MfG,

Tko?
 
PHP:
<input type="submit" name="send" action="anmeldung.php" value="Jetzt anmelden!"></input>
ändern in
PHP:
<input type="submit" name="submit" value="Jetzt anmelden!">

so sollte es gehen


@end4win der prüft garnichts in der db... er prüft nur ob in allen felder was steht und ob feld pw1 und pw2 das gleiche drinsteht und dann wrids in die db eingefügt




im übrigen sollte man ein pw nicht in klartext in die db schreiben (google mal nach: md5 hash php)
 
Hi,

also es funzt leider immernoch nicht -.-
Das mit den Passwörtern stimmt, kommt aber alles später,im Moment siehst du ja selber was es für mich noch fürn Problem darstellt alleine nur dolch eine Abfrage zu gestalten.

Aber wird - hoffe ich ^^

MfG,

Tko?
 
<input type="submit" name="submit" value="Jetzt anmelden!">

ohne <?php ?> - mein fehler sorry das macht der automatisch wenn man [ph.p] macht...
 
Zurück
Oben