PHP Problem Login form

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/php_problem_login_form_189110/page_1 - zur Vollversion wechseln!


st33ltormentor schrieb am 13.12.2007 um 14:28

Hallo Leute!

Ich mache gerade ein php/oracle projekt für die Uni und habe folgendes schon geschafft:

-Texteingabe Felder mit einem DB-Statement verknüpfen
-Seiten mit 'nem Submit button weiterleiten

Habe das Projekt bis auf eine Sache komplett fertig:
-Hab mir eine Login Form gemacht mit 2 Textfeldern und 'nem Submit Button
-Wenn ich den Button drücke soll in der DB die eingegebenen Daten aus der verifizieren - falls sie richtig ist soll es weiter zur nächsten Seite gehen / wenn nicht dann soll er auf eine Error Page kommen

Mir ist klar dass Ich mit einem select Statement mal die eingegebenen Daten aus der DB rausholen soll und dann wenn sie vorhanden sind und ausgegeben werden dann solln sie verglichen werden damit eine Logik dahinter kommt mit True (die eine Seite aufrufen) oder False (error-Page)


Soweit bin ich bis jez mit dem Code... aber keine Ahnung was hier der Fehler sein könnte :/

Also hier mal die Login form auf der Hauptseite:

Code: PHP
<form name="Login" method="post"  action="WebshopLogin.php" onSubmit="return Blank_TextField_Validator2()">
   <font color="#FFFFFF">Benutzer:</font><br>
   <input  type="text" name="benutzer">
   <font color="#FFFFFF">Benutzer<br></font> 
   <input  type="text" name="password">
   <font color="#FFFFFF">Passwort</font> <br>
   <input  type="submit"  value="Login">
</form>

Nun auf der 2ten Seite die Überprüfung mit Weiterleitung:
Code: PHP
<?php
   $dbuser = "xxx"; 	// Datenbank-Username 
   $dbpass = "yyy"; 		// Datenbank-Passwort 
   $host_sid = "zzz";
   $connection = oci_connect($dbuser,$dbpass,$host_sid);
			
	$benutzer = $_POST["benutzer"];
	$passwort = $_POST["password"];
	$dbbenutzer = $_POST["$cd1"];
	$dbpasswort = $_POST ["$cd2"];				
//$cd=oci_parse($connection,"SELECT kennung, passwort FROM personen where (kennung='$benutzer' and passwort='$passwort')");
	$cd1=oci_parse($connection,"SELECT kennung FROM personen where kennung='$dbbenutzer'");
	$cd2=oci_parse($connection,"SELECT passwort FROM personen where passwort='$dbpasswort'");
			
	oci_execute($cd1,$cd2, OCI_DEFAULT)
	if (($benutzer == $dbbenutzer) and ($passwort == $dbpasswort)
		{
		      header("Location: [url]http://xxxy.xy/rrr.php[/url]");
                }
        else {}
?>


Bin mir nciht im Klaren ob ich den header da brauche...der sollte ja eigentlich ganz oben stehen aber wenn in der ersten Zeile des Codes steht wie sag ich der If Schleife dann wo sie hin muss bzw dem else auf welche andere Seite er wechseln muss?

Ist mein Code überhaupt logisch richtig?

Code: PHP
oci_execute($cd1,$cd2, OCI_DEFAULT) //Kann man hier auch 2 sachen executen? also cd1 und cd2?

Hoffe es kann mir wer weiterhelfen!
Bzw vielleicht fällt jemandem eine leichtere alternative zu meiner Idee ein...



LG Mario


gue schrieb am 13.12.2007 um 17:16

Q: //Kann man hier auch 2 sachen executen? also cd1 und cd2?
A: Nein.

http://at.php.net/manual/en/function.oci-execute.php

Q: Ist mein Code überhaupt logisch richtig?
A: Nein.

Schau dir nochmal alle oci_fetch* Funktionen an und such dir die passende raus. Ersetze die 2 Queries durch eines. Schau dir den Wikipedia Eintrag zum HTTP und die Doku zu header() an.

P.S.: Darf ich fragen was du studierst?


Spikx schrieb am 13.12.2007 um 17:21

Zitat von st33ltormentor
If Schleife
:fresserettich:


st33ltormentor schrieb am 13.12.2007 um 18:16

hiho!
ich studier biomedical engineering und hab gerademal 4 stunden php unterricht gehabt im fach datenbanksysteme?

is das so schrecklich was ich geposted hab^^?

aja bin da in der ubahn grad draufgekommen dass ich eh nur über den benutzer name alles überprüfen kann :P

danke für die hilfe btw =)!

lg Mario


Spikx schrieb am 14.12.2007 um 00:09

Zitat von st33ltormentor
is das so schrecklich was ich geposted hab^^?
Jop ;)


.dcp schrieb am 14.12.2007 um 00:19

Zitat von Spikx
Jop ;)

schlimmer ist es, kritik ohne verbesserungsvorschlag zu äussern.
solltest politiker werden.




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025