PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks. |
 |
|

08-12-2006, 18:11
|
stefens
Junior Member
|
|
Registriert seit: Nov 2004
Beiträge: 115
|
|
variablen übergeben
Hy noch einmal !
Hoffe ihr helft mir , bin am verzweifeln
ich möchte aus der datenbank benutzer und pw abfragen und diese mit den eingaben des users abgleichen und zugang gewähren.
ich probiere hier schon zahlreiche möglichkeiten und bekomme es einfach nicht hin.
könnt ihr mir bitte helfen ?
PHP-Code:
$abfrage = "SELECT * FROM Telefonregister";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
$username = $_POST["username"];
$password = $_POST["password"];
if($row->Benutzer == "$username" and $row->Pass == "$password")
wie kann ich die abgefragten daten abgleichen ?
Also das abgleichen aus einer php datei nur mit der get also variablen übergeben , bekomme ich hin.
aber nicht die daten aus der mysql datenbank :/
|

08-12-2006, 18:21
|
Griecherus
PHP Senior
|
|
Registriert seit: May 2005
Ort: Berlin
Beiträge: 1.036
|
|
Ich rate von SELECT * ab. Selecte am besten immer nur genau das, was du auch benötigst. In dem Beispiel könnten das unter anderem username und password sein.
Und wieso gehst du nicht so an dein Problem heran?
PHP-Code:
$sql = "SELECT username, password
FROM tbl_name
WHERE username = '$post_username' // beachte besonders diese zeile
LIMIT 1";
$result = mysql_query($sql)
or die(mysql_error());
if (mysql_num_rows($result) == 1)
{
$row = mysql_fetch_assoc($result);
if ($post_password == $row['password'])
{
}
}
Die WHERE-Bedingung macht es möglich, nicht jeden Benutzer aus der Tabelle in die Ergebnismenge holen zu müssen, sondern eben nur denjenigen, auf den der angegebene Benutzername passt. Alternativ könntest du die Passwort-Abfrage auch mit in die Abfrage einbauen, davon halte ich persönlich aber nicht viel.
Und nebenbei solltest du dir unbedingt angewöhnen, geschweifte Klammern ordentlich zu setzen.
Geändert von Griecherus (08-12-2006 um 18:25 Uhr)
|

08-12-2006, 18:29
|
stefens
Junior Member
|
|
Registriert seit: Nov 2004
Beiträge: 115
|
|
naja, wie du ja weißt, bin ich anfänger ..
bei deiner version, kommen wieder ziemlich viele begriffe für mich dazu wie das limit und den ganzen aufbau.
ich muss mich erstma richtig mit den grundlagen festigen bevor ich mich an was neues rantrauen kann ..
ich hab es aber gerade hinbekommen ..
komischerweise geht es jetzt *denk*
hatte diese zeile :
PHP-Code:
if($row->Benutzer == "$username" and $row->Pass == "$password")
mit dieser geändert
PHP-Code:
if("$row->Benutzer" == "$username" and "$row->Pass" == "$password")
lag wohl nur an den " zeichen , hatte es zuvor nen paar mal mit ' versucht, aber net geklappt .. hmm
also, wenn du mir das mit deiner version richtig gut erklärst, eigne ich es mir so an
Gruß, Stefens und danke für die schnelle antwort
|

08-12-2006, 18:32
|
stefens
Junior Member
|
|
Registriert seit: Nov 2004
Beiträge: 115
|
|
nehme alles zurück..
jetzt ist garkeine sicherheit mehr gewährleistet.
ohne eingabe läd er das formular trotzdem ????
http://www.ssys.de/tel
|

08-12-2006, 18:34
|
Griecherus
PHP Senior
|
|
Registriert seit: May 2005
Ort: Berlin
Beiträge: 1.036
|
|
Wozu die doublequotes um die Variablen? Die gehören da nicht hin.
PHP-Code:
if ($row->varname == $varname)
{
// ...
}
|

08-12-2006, 18:42
|
stefens
Junior Member
|
|
Registriert seit: Nov 2004
Beiträge: 115
|
|
wieso nicht ?
ist das nur zum variablen abgleichen ? dann wäre das doch richtig ..
und das hier funzt net ...
PHP-Code:
if ($row->Benutzer == $username)
{
echo "lala";
}
|

08-12-2006, 18:47
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 25.236
|
|
Zitat:
Original geschrieben von stefens
wieso nicht ?
ist das nur zum variablen abgleichen ? dann wäre das doch richtig ..
|
Anführungszeichen sind dazu da, Textstrings im PHP-Code zu notieren.
Vom Benutzer einzugebende Daten, stehen die im Code?
Nein, tun sie nicht, die werden von aussen reingegeben.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

08-12-2006, 18:49
|
Griecherus
PHP Senior
|
|
Registriert seit: May 2005
Ort: Berlin
Beiträge: 1.036
|
|
Was meinst du mit Variablen abgleichen? Doublequotes sind in PHP dazu da, strings einzuschließen - ähnlich wie singlequotes.
Falls du damit Typecasting meinen solltest, dann das auch mit den jeweiligen Typecasting-Funktionen bewerkstellingen.
PHP-Code:
$string = (string)$string; // oder
$string = strval($string); // oder
settype($string, 'string');
|

08-12-2006, 18:50
|
stefens
Junior Member
|
|
Registriert seit: Nov 2004
Beiträge: 115
|
|
oha, das mit den benutzerdaten in der datei war auch nur zur übung für mich..
und jetzt will ich eben das die daten aus der datenbank gelesen werden und genau das klappt ja net... mehr will ich doch garnicht hinbekommen.
und wenn ich die beiden == oder nur eins = dahinmache, dann gibt er mir fehler aus...
was mach ich falsch ?
|

08-12-2006, 18:52
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
nur mal so,
error_reporting()
mysql_error()
und testausgaben
...
So wie es in den Regeln steht.
|

08-12-2006, 18:55
|
stefens
Junior Member
|
|
Registriert seit: Nov 2004
Beiträge: 115
|
|
wieso, es hatte doch aus der datei funktioniert ..
datei config ...
PHP-Code:
<?
$adminname="Admin";
$adminpass="test";
?>
datei daten eingeben
PHP-Code:
<?
<form action="form.php" method="post">
<div align="center">Username :
<input name="username" type="text" id="username" size="17">
Passwort:
<input name="password" type="text" id="password" size="17">
<br>
<input type="submit" value="OK">
</div>
</form>
?>
datei daten überprüfen und ausgeben wenn variablen übereinstimmen :
PHP-Code:
<?
include "config.php";
$abfrage = "SELECT Benutzer, Pass FROM Telefonregister";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
$username = $_POST["username"];
$password = $_POST["password"];
if($adminname == "$username" and $adminpass == "$password")
{
echo "";
}
?>
und an genau letzter stelle, bleib ich stehen und komme nicht weiter..
wieso sollte das net funtzen ? ging doch ..
und war das kein abgleich ?
|

08-12-2006, 18:56
|
Griecherus
PHP Senior
|
|
Registriert seit: May 2005
Ort: Berlin
Beiträge: 1.036
|
|
Ich schätze du nimmst dir für dein bisheriges Know-how einfach zu viel vor. Du musst dir erstmal die grundlegensten Grundlagen aneignen.
Übrigens:
= ist ein Zuweisungsoperator
== und === sind Vergleichsoperatoren
Arbeite dich mal hier durch. Das geht zwar nicht von jetzt auf gleich, doch das gelesen und verstanden zu haben ist notwendig.
|

08-12-2006, 19:00
|
stefens
Junior Member
|
|
Registriert seit: Nov 2004
Beiträge: 115
|
|
ich würde es dennoch jetzt schon erstmal gern lösen wollen .. weil ich gerade eine kriese bekomme
ich hab mir die ganze schattenbaum seite ein paar mal reingezogen..also scheine ich da nichts gelernt zu haben :/
|

08-12-2006, 19:01
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
was genau ist dein Problem?
bekommst du eine fehlermeldung oder tut sich nur nichts? (was sollte sich denn überhaupt tun?)
|

08-12-2006, 19:02
|
Griecherus
PHP Senior
|
|
Registriert seit: May 2005
Ort: Berlin
Beiträge: 1.036
|
|
Die Schattenbaum-Seite ist auch kein Ersatz für die PHP-Doku. Um die kommt man - wenn du mich fragst - einfach nicht rum, wenn man PHP auch nur halbwegs ernsthaft anpacken möchte.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|