PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   variablen übergeben (https://www.php-resource.de/forum/php-developer-forum/79005-variablen-uebergeben.html)

stefens 08-12-2006 18:11

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 :/

Griecherus 08-12-2006 18:21

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.

stefens 08-12-2006 18:29

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 :D

Gruß, Stefens und danke für die schnelle antwort

stefens 08-12-2006 18:32

nehme alles zurück..

jetzt ist garkeine sicherheit mehr gewährleistet.

ohne eingabe läd er das formular trotzdem ????



http://www.ssys.de/tel

Griecherus 08-12-2006 18:34

Wozu die doublequotes um die Variablen? Die gehören da nicht hin.
PHP-Code:

if ($row->varname == $varname)
{
    
// ...



stefens 08-12-2006 18:42

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";



wahsaga 08-12-2006 18:47

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.

Griecherus 08-12-2006 18:49

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'); 


stefens 08-12-2006 18:50

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 ?

TobiaZ 08-12-2006 18:52

nur mal so,

error_reporting()
mysql_error()
und testausgaben
...

So wie es in den Regeln steht. :teach:

stefens 08-12-2006 18:55

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 ?

Griecherus 08-12-2006 18:56

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.

stefens 08-12-2006 19:00

ich würde es dennoch jetzt schon erstmal gern lösen wollen .. weil ich gerade eine kriese bekomme :D

ich hab mir die ganze schattenbaum seite ein paar mal reingezogen..also scheine ich da nichts gelernt zu haben :/

TobiaZ 08-12-2006 19:01

was genau ist dein Problem?

bekommst du eine fehlermeldung oder tut sich nur nichts? (was sollte sich denn überhaupt tun?)

Griecherus 08-12-2006 19:02

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.


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:43 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG