| 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! Post your PHP questions here! |
 |
|

25-11-2002, 16:01
|
|
gfx-freak
Junior Member
|
|
Registriert seit: Nov 2002
Beiträge: 83
|
|
Kurze FRage´!
Hi Leute,
mein Problem ist folgendes
PHP-Code:
$sql = "SELECT kdn,usr from $table";
$result = mysql_query($sql,$connect);
if (!$result) die ("Fehler in der Abfrage");
while ($data = mysql_fetch_array($result,MYSQL_BOTH))
{
//Code
}
ich verwende diesen COde und er gibt mir den ganzen DB Inhalt in der Spalte users aus, d.h von 1-51 als html text in der Site.
Dabei soll er nur den ausgeben der sich eingeloggt hat über ein Formular mit den Variablen $usr & $pwd sprich,
PHP-Code:
echo ("Ihre eingeloggter Username lautet : " . $data["usr"] . "<br>\n");
echo ("Ihre Kundennummer lautet : " . $data["kdn"] . "<br>\n");
Er soll also kdn & Usernamen ausgeben die kdn aus der db holen und den usernamen hat er auch aus der db der allerdings beim einloggen anhand des formulars übergeben wird. Meine Frage nunnochmal wieso gibt er mir alle Users mit kdn in html form aus und nicht nur den der sich einloggt ?
Danke 4 Help!
alex
|

25-11-2002, 16:20
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
SQL-Erfahrung scheint noch nicht vorhanden zu sein?!?
PHP-Code:
$sql = "SELECT kdn,usr FROM $table WHERE usr = '$form_user'";
$result = mysql_query($sql,$connect);
if (!$result) die ("Fehler in der Abfrage");
while ($data = mysql_fetch_array($result,MYSQL_BOTH))
{
//Code
}
So klappt es!
BTW: Wie eigentlich überall in PHP fängt man auch beim Zählen von Datensätzen bei "0" an.
|

25-11-2002, 16:36
|
|
gfx-freak
Junior Member
|
|
Registriert seit: Nov 2002
Beiträge: 83
|
|
:]
:P Danke Tobi!!
Ich check mal ob es geht :]
|

25-11-2002, 16:43
|
|
gfx-freak
Junior Member
|
|
Registriert seit: Nov 2002
Beiträge: 83
|
|
mhh?
Erstmal danke,
nun gibt er mir zwar nicht mehr alle Db Einträge von 1-51 aus, sondern nach dem Login bekomme ich ne leere Seite, d.h. er ignoriert anscheinend den darauffolgenden Code;
PHP-Code:
$sql = "SELECT kdn,usr FROM $table WHERE usr = '$form_user'";
$result = mysql_query($sql,$connect);
if (!$result) die ("Fehler in der Abfrage");
while ($data = mysql_fetch_array($result,MYSQL_BOTH))
{
echo ("<br>");
echo ("Ihr Status: Eingeloggt! <br><br>");
echo ("Ihre eingeloggter Username lautet : " . $data["usr"] . "<br>\n");
echo ("Ihre Kundennummer lautet : " . $data["kdn"] . "<br>\n");
} //gehört zu der while schleife!
mysql_close($connect);
?>
Sprich ich erhalte nur ne leere Seite und er stellt dieses nicht da
NACHTRAG: Wenn ich das { direkt hinter dem was du mir gepostest hast Tobi setze zeigt er alles an was folgt, den Text auch nur einmal  aber das Prob, er gibt die Variablen dann nicht aus sprich:
Ihre eingeloggter Username lautet :
Ihre Kundennummer lautet :
aber eben ohne Werte, obwohl sie doch klar definiert sind !?
Geändert von gfx-freak (25-11-2002 um 16:53 Uhr)
|

25-11-2002, 16:52
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
Hast du mein BTW nicht gelesen oder ignoriert?
Wenn du nur einen Datensatz bekommst, brauchst du kein while().
Poste mal alles, was fürs einloggen benötigt wird. Aus denn Fitzeln wird ja keiner schlau.q
|

25-11-2002, 16:59
|
|
gfx-freak
Junior Member
|
|
Registriert seit: Nov 2002
Beiträge: 83
|
|
Klar Tobi
In diesem Code ist der User bereits eingeloggt und ich will anhand seiner Login daten die er im Formular eingegeben hat seine KDN auslesen und anzeigen lassen sowie seinen Usernamen und später eben per Url übergeben lassen
dangge;
PHP-Code:
<?
session_start ();
if ((session_is_registered ("user_intern")) AND ($user_intern))
{
require("../inc/conf_login.inc.php");
$sql = "SELECT kdn,usr from $table WHERE usr = '$form_user'";
$result = mysql_query($sql,$connect);
if (!$result) die ("Fehler in der Abfrage");
while ($data = mysql_fetch_array($result,MYSQL_BOTH))
{
echo ("Ihr Status: Eingeloggt! <br><br>");
echo ("Ihre eingeloggter Username lautet : " . $data["usr"] . "<br>\n");
echo ("Ihre Kundennummer lautet : " . $data["kdn"] . "<br>\n");
echo "<a href =\"../test.php?<?=session_name()?>=<?=session_id()?>&kdn=<?echo $data[kdn];?>&usr=<?echo $data[usr];?>> \"
;
<br>Klicken Sie <b>Test</b> ";
} // gehört zu der while schleife
mysql_close($connect);
?>
<?
}
else
{
echo "<font face=\"arial\" size=\"1\" color=\"#ffffff\" <font> Access Denied !! <br>Sie besitzen keine Rechte um diese Seite zu betrachten!!<Br>";
echo "<font face=\"arial\" size=\"1\" color=\"#ffffff\" <font><a href = \"../start.php\"><br><font color=\"#ffffff\"<font><br> Zurück zum Portal</a>";
echo "<body bgcolor=\"2B4347\"<body>";
}
?>
Geändert von gfx-freak (25-11-2002 um 17:04 Uhr)
|

25-11-2002, 17:20
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
Denkst du mit?!?
Sorry, wenn ich das so dreist sage, ist eigentlich nicht meine Art so.
Aber die Var "$form_user" existiert in deinem Script wohl kaum. Die musstest du natürlich durch eine in deinem Script existierende Var ersetzen. Nehme an, das ist "$user_intern".
Logisch, dass der da nichts findet!!!
|

25-11-2002, 19:25
|
|
gfx-freak
Junior Member
|
|
Registriert seit: Nov 2002
Beiträge: 83
|
|
klar
klar, aber auch wenn ich die variable änder in die die ich brauche $usr gibt er keinen Wert zurück :/ naja ich test das morgen mal durch und erstatte rückmeldung danke 4 help tob :]
|

25-11-2002, 21:29
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
sah mir jetzt nicht so aus, als ob du das geändert hättest. Ist ja auch egal.
Aber bei deinem Script ist nicht großartig was dabei.
Wenn du es so machst, wie dir gesagt, so sollte es funktionieren.
|

26-11-2002, 08:26
|
|
gfx-freak
Junior Member
|
|
Registriert seit: Nov 2002
Beiträge: 83
|
|
stimmt tob, ist net schwer gegliedert darum wunderts mich auch wieso e nicht geht :/ !!
der Fehler liegt hier:
PHP-Code:
WHERE kdn = '$kdn' and usr = '$usr'
lasse ich diese anweisung weg gibt er alle datensätze aus, schreibe ich sie rein gibt er garnix aus also ne leere seite !
ka warum tob ne idee ?!
|

26-11-2002, 09:05
|
|
Pascal P.
Member
|
|
Registriert seit: Dec 2001
Ort: Pforzheim
Beiträge: 420
|
|
Dann stimmt wohl dein Query nicht?! Hast du das schon mal kontrolliert??
|

26-11-2002, 09:30
|
|
gfx-freak
Junior Member
|
|
Registriert seit: Nov 2002
Beiträge: 83
|
|
PHP-Code:
require("../inc/conf_login.inc.php");
$sql = "SELECT * from $table WHERE usr = '$usr' AND kdn = '$kdn'";
$result = mysql_query($sql,$connect);
if (!$result) die ("Fehler in der MySql Abfrage");
while ($data = mysql_fetch_array($result,MYSQL_BOTH))
{
nene der querry stimmt schon hmm dann muss ich das wohl nen bisschen umstricken, mal nen bisschen testen ich will ja nur das er die werte usr und kdn ($usr u $kdn ) aus der db holt und diese anzeigt :
PHP-Code:
echo ("Ihre eingeloggter Username lautet : " . $data["usr"] . "<br>\n");
echo ("Ihre Kundennummer lautet : " . $data["kdn"] . "<br>\n");
} // while schleife ! beenden!
die man anschliessend per url uebergeben kann :] alta wo liegt der bug gg *such* danke ! oder jmd ne idee dieses umzuschreiben...?
|

26-11-2002, 09:48
|
|
Pascal P.
Member
|
|
Registriert seit: Dec 2001
Ort: Pforzheim
Beiträge: 420
|
|
Du möchtest einen Login machen, richtig?
Und du hast folgendes vor. Der User kommt auf die Seite, muss ich anmelden, a lso muss er sich authentifizieren. Nachdem er das getan hat, erfolgreich natürlich, bammelst du den Benutzernamen und das Passwort immer wieder an die URL ran, und überprüfst auf jeder Seite, ob der Benutzer in der DB vorhanden ist. So lese ich nun deinen Weg.
Ich habe das anders gelöst. Hat sich er User nicht authentifiziert, muss er sich natürlich authentifizieren. Der Benutzer muss also BN und PWD angeben. Hat er sich erfolgreich authentifiziert, setze ich in die Session einfach eine BOOLEAN Variable, das der Benutzer sich authentifiziert hat. Unteranderem speicher ich auch noch die USER_ID.
Wenn er jetzt weiter auf der Seite rumgurgt, und die Variable die für die authentifizierung ist bereits gesetzt und korrekt ist, wird kein DB Abfrage mehr gemacht, da ich weiss das der BEnutzer bereits bekannt ist. Möchtest du nun Daten vom Benutzer aus der DB ziehen, kannst du das bequem über die USER_ID in der Session machen.
Denk mal drüber nach.
|

26-11-2002, 10:21
|
|
gfx-freak
Junior Member
|
|
Registriert seit: Nov 2002
Beiträge: 83
|
|
habs im grossen und ganzen ebefalls so gelöst wie du, ebenfalls eine session registriert mit den variablen user_intern und kdn ...
Das das ich oben dargestellt habe i´st das wenn der user schon im internen ist, ich wollte da seine kdn und seinen usernamen ausgebelassen, sprich er ist eingeloggt session exstiert und er soll nun seine kdn und sein usr sehen ->
PHP-Code:
echo "Ihre eingeloggter Username lautet : " . $row["usr"] . "<br>\n";
echo "Ihre Kundennummer lautet : " . $row["kdn"] . "<br>\n";
Die ich danach per Url weiteruebergeben lassen kann if kdn = xxx u. usr = xxx dann soll das und das passieren also in gewisserweise ein rechte system änlich nur per kdn ...
Das Problem er gibt mir nie die Kdn oder den usr rchtig aus, sprich wenn ich mich einlogge steht da entweder garnix oder es steht der mit der kdn 1 da und dem namen 1 aus der db´. Bsp logge mich ueber Kunde1 ein und es erscheint ihr name ist alex und ihre kdn ist 1 und das darf nicht sein  .
Wenn da stehen würde Ihr name ist Kunde1 und Ihre Kdn ist bsp 2 dann wärs endlich mal nice
Meine Sql abfrage habe ich oben bereits beschrieben und ich finde in Ihr keinen Fehler wäre super wenn den mal jemand finden würde oder nen anderen Lösungsweg haette :]
 danke
Geändert von gfx-freak (26-11-2002 um 10:24 Uhr)
|

26-11-2002, 10:30
|
Wotan
Master  
|
|
Registriert seit: Sep 2001
Ort: Berlin
Beiträge: 5.348
|
|
@gfx
Poste mal dein Login und die Weiterleitungsseite. Vielleicht liegt der Huind hier begraben.
|
|
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
|