PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : If Abfrage?


Stella
28.04.2003, 10:15:13
Hi Leute,

bin schon wieder da.
Ich wollte eigentlich nur wissen, ob ich das so machen kann? Ich bekomme das echo von else angezeigt.

<?
if("benutzer"==$user_eingabe AND "passwort"==$pass_eingabe)
{
header ("Location: inhalt.html");
}
else
{
echo"LogIn fehlgeschlagen. Überprüfen Sie Ihre Daten";
}
?>

MiH
28.04.2003, 10:28:49
if($benutzer == $eingabe_user && $pass == $eingabe_pass){
echo "ok";
}else{
echo "error";
}

$benutzer + $pass müssen ja variable sein, was sie bei dir nicht sind. deine abfrage bzw. überprüfung ist also immer falsch.

Stella
28.04.2003, 10:45:59
es gibt nur ein benutzer und ein login. das ist als geburtstags witz gedacht. kann ich das dann nicht mit dem string vergleichen?

amerix
28.04.2003, 11:10:37
<?
if(("otto"==$user_eingabe)&&("3gelbeenten"==$pass_eingabe))
{
header ("Location: inhalt.html");
}
else
{
echo"LogIn fehlgeschlagen. Überprüfen Sie Ihre Daten";
}
?>
Sollte doch funktionieren? Habs nur mal etwas abgeändert.

Gruß
Marcus

PS: Wie läufts sonst so mit PHP?

Stella
28.04.2003, 11:22:57
irgendwas mach ich falsch. es geht leider nicht.

nun ich hab mich am freitag 7 h mit den quaknet tutorials vollgesaugt. Mein hirn ist relativ weichgekocht gewesen. Aber ist zu den logische Operatoren und den Verknüpfungen habe ich es verstanden.

Stella
28.04.2003, 11:26:17
Noch eine Frage:
Also ich habe es am Anfang vor dem HTML-Teil stehen. Da kommt die Fehlermeldung des echos der elseabfrage.

Das ist ja eigentlich so richtig oder? Weil er hat ja noch keine Daten. Also ist die If-Abfrage false.

Im Grunde müßte ich ihm doch erst sagen

if (gesendet==1)
dann führe das Login aus oder?

amerix
28.04.2003, 11:33:33
Geht das auch nicht?
Vereinfache mal alles und mache den rest schritt für schritt dazu- Oder besser noch mach mal über die Weiterleitungsseite beim Login einfach ein echo $user_eingabe , ob überhaupt was drinn ist.
Evtl. funktioniert das mit dem Unterstrich nicht richtig? Da war doch mal was...

Probier auch mal $username=$_REQUEST['username'];
:-)

<HTML>...<body>
<form method="post" name="test" action="login.php">
<input name="usereingabe">
</form>
</body></html>



<?
echo "Das steht drinn: $usereingabe<hr>";

$usereingabe=$_REQUEST['usereingabe'];

echo "Das steht jetzt drinn: $usereingabe<hr>";

if("otto"==$usereingabe)
{echo 'OK';}
else
{echo"LogIn fehlgeschlagen. Überprüfen Sie Ihre Daten";}
?>



PS:

$_POST / $_GET['dings'] auch mal probieren

amerix
28.04.2003, 11:39:18
Naja, mit

if (isset($string)) { echo 'Der String wurde gesetzt!';}

Kannst du überprüfen, ob es einen $String gibt, also z.B. durch eine Formulareingabe.

isset unterscheidet sich hierbei von

if ($string==''), da dies sowohl leere als auch noch nicht definierte abarbeiten würde.

Stella
28.04.2003, 11:50:07
also ich habe es jetzt mal so versucht und erhalte dabei ein error404,
meine url sieht jetzt so aus:http://www.colordruck.com/preview/gerd/$PHP_SELF?hiddenField=gesendet&user_eingabe=playboy&pass_eingabe=viagra.viagra&Abschicken=Log-In

Und mein PHP so:<?
$user=$_REQUEST['user_eingabe'];
$pass=$_REQUEST['pass_eingabe'];
if(gesendet==1)
{
if(("playboy"==$user)&&("viagra.viagra"==$pass))
{
echo"LogIn war in Ordnung";
}
else
{
echo"LogIn fehlgeschlagen. Überprüfen Sie Ihre Daten";
}
}
?>

Warum bringt er mir da jetzt ne neue Seite? Deine Sachen probier ich jetzt mal aus.

amerix
28.04.2003, 12:35:38
http://www.colordruck.com/preview/gerd/$PHP_SELF?hiddenField=gesendet&user_eingabe=playboy&pass_eingabe=viagra.viagra&Abschicken=Log-In

Da haste wohl in der FORM sowas drinn stehn:

echo '<form action=$PHP_SELF>';

Also will die Form die Datei $php_self öffnen.
Deshalb 404 / Neue Seite

Richtig wäre
echo '<form action="'.$PHP_SELF'.">';
oder
echo "<form action="$PHP_SELF">";

Gruß
Marcus

Stella
28.04.2003, 12:56:15
ich habe es jetzt in <??> gesetzt. Damit geht es. Aber jetzt habe ich wieder mein altes Problem: Die Daten stehen in der URL, aber die if-Abfrage funzt nicht. Jetzt macht sie gar nichts mehr.

amerix
28.04.2003, 13:00:13
HI, kannst du nochmal den ganzen Code posten? Bin halt sehr visuell veranlagt ;-)

Ciao!

Mach doch mal ganz oben ein echo hin

Beispiel:
echo "-$eingabe- ist in der eingabe<br>";
if ($eingabe=='dings'){echo 'eingabe ist dings';}

Stella
28.04.2003, 13:10:08
<?
$user=$_REQUEST['usereingabe'];
$pass=$_REQUEST['passeingabe'];
if(gesendet==1)
{
if(("playboy"==$user)&&("viagra.viagra"==$pass))
{
echo"LogIn war in Ordnung";
}
else
{
echo"LogIn fehlgeschlagen. Überprüfen Sie Ihre Daten";
}
}
?>
<HTML>
<HEAD>
<TITLE>www.gerd-oswald.de</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>

<BODY bgcolor="#FF0000" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<TABLE width="100%" border="0" cellspacing="0" cellpadding="0" height="100%">
<TR>
<TD align="center" valign="middle">
<FONT color="#FFFFFF"><B><FONT face="Georgia, Times New Roman, Times, serif" size="7">www.gerd-oswald.de</FONT></B></FONT></TD>
</TR>
<TR>
<TD align="center" valign="middle">

<FORM name="form1" method="get" action=<?$PHP_SELF?>>
<TABLE width="200" border="0" cellspacing="0" cellpadding="0">

<TR>

<TD>

<DIV align="center"><IMG src="images/bunny_gerd.gif" width="150" height="200"></DIV>
</TD>
</TR>

<TR>

<TD>

<DIV align="center">
<INPUT type="hidden" name="hiddenField" value="gesendet">
</DIV>
</TD>
</TR>

<TR>

<TD>

<DIV align="center"><B><FONT face="Arial, Helvetica, sans-serif" color="#FFFFFF" size="4">Benutzer:</FONT></B></DIV>
</TD>
</TR>

<TR>

<TD>



<DIV align="center"><FONT size="4">


<INPUT type="text" name="usereingabe" size="20">
</FONT></DIV>
</TD>
</TR>

<TR>

<TD>

<DIV align="center"><FONT size="4"></FONT></DIV>
</TD>
</TR>

<TR>

<TD>

<DIV align="center"><B><FONT face="Arial, Helvetica, sans-serif" color="#FFFFFF" size="4">Passwort:</FONT></B></DIV>
</TD>
</TR>

<TR>

<TD>

<DIV align="center"><FONT size="4">

<INPUT type="password" name="passeingabe" size="20">
</FONT></DIV>
</TD>
</TR>

<TR>

<TD>

<DIV align="center"><FONT size="4"><BR>
</FONT></DIV>
</TD>
</TR>
<TR>
<TD>
<DIV align="center">
<INPUT type="submit" name="Abschicken" value="Log-In">
</DIV>
</TD>
</TR>

</TABLE>
</FORM>
</TD>
</TR>
</TABLE>

</BODY>
</HTML>


Das ist der komplette Code.

amerix
28.04.2003, 13:15:30
OK, gesendet==1 .... gesendet?
'gesendet' oder $gesendet wäre ja noch OK?
Was du brauchst..... isset oder sowas in der Art, oder einfach nur ein if ($user!='') ---(wenn der username nicht leer ist....)

Ausserdem mach doch mal ein echo $user hin oder so, nur um zu sehen was in der var drinn steht.
CODE:

<?$user=$_REQUEST['usereingabe'];
$pass=$_REQUEST['passeingabe'];
if(isset($user)) {
if(("playboy"==$user)&&("viagra.viagra"==$pass))
{ echo"LogIn war in Ordnung"; }
else { echo"LogIn fehlgeschlagen. Überprüfen Sie Ihren Usernamen $user und Ihr Passwort $pass"; }
}?>

usw. usw....

Gruß
Marcus

overclocker
28.04.2003, 13:30:53
wie wäre es, wenn ihr die If-Abfrage Umdreht:


if(($user == "playboy")&&($pass == "viagra.viagra"))


das sollte gehen..
ansonsten mal irgendwo $user und $pass ausgeben lassen.. ;)

cu

amerix
28.04.2003, 13:37:40
Naja wie rum ist ja egal ;-))
1x1=1 und 1=1x1, ist doch logo :-)

Das mit dem Echo hab ich ja auch schon gesagt, bei mir wuselts nur von Echo $string und Echo 'wenn es klappt steht dieser Text hier', peinlich wirds nur wenn man die nicht wieder weg macht ;-)

Stella
30.04.2003, 09:37:26
es hat geklappt.
<?
$a ="playboy";
$b ="viagra";

if($_GET['send']=="1")

if($_GET['user']==$a && $_GET['pass']==$b)
echo "Das LogIn war erfolgreich.<BR>Bitte <a href=#>hier</a> klicken";
else{
echo "NEIN";
}
?>


so geht es.. endlich mal ein erfolgserlebnis..

amerix
30.04.2003, 09:40:48
PS:
$_POST / $_GET['dings'] auch mal probieren
--Von amerix am 28-04-2003 um 11:41


Sag ich doch!
Herzlichen Glühstrumpf ;-)