URL: https://www.overclockers.at/coding-stuff/php_problem_login_form_189110/page_1 - zur Vollversion wechseln!
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>
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 {} ?>
Code: PHPoci_execute($cd1,$cd2, OCI_DEFAULT) //Kann man hier auch 2 sachen executen? also cd1 und cd2?
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?
Zitat von st33ltormentorIf Schleife
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
JopZitat von st33ltormentoris das so schrecklich was ich geposted hab^^?
Zitat von SpikxJop
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025