Willkommen |
|
myGully |
|
Links |
|
Forum |
|
|
|
 |
22.01.13, 15:50
|
#1
|
Erfahrener Newbie
Registriert seit: Dec 2010
Ort: Hannover
Beiträge: 121
Bedankt: 97
|
If abfrage aus datei (hilfe)
VERGESSEN IN ÜBERSCHRIFT -> PHP
ich bin NICHT erfahren und habe schon alles mögliche probiert ..
aber nix will so richtig ..
ich versuche es mir momentan selber beizubringen
nun zu meinem problem .
in einer datei ( die den usernamen trägt [jeweilig in $user" variable]) sind username und pw angegeben
datei liegt im ordner "user"
nun will ich die zwie sachen in eine verschiedene array reinhaben. [0],[1]
(hab das schon pro absatz versucht, das will aber auchnicht so.
mein aktueller code:
PHP-Code:
<?php $pw = $_POST["pw"]; $user = $_POST["user"]; chdir("user"); $array = implode("",file($user)); if($user==$array[0] && $pw==$array[1]) { echo "Sie sind eingeloggt ( Es passiert jetzt nix weiter)"; } else { echo "Falscher Username oder Passwort"; } ?>
irgendwie glaube ich, das die if abfrage nicht funktioniert ..
MfG
Slluxx
|
|
|
22.01.13, 16:35
|
#2
|
Anfänger
Registriert seit: Aug 2012
Beiträge: 13
Bedankt: 13
|
chdir($user);
|
|
|
22.01.13, 17:07
|
#3
|
Erfahrener Newbie
Registriert seit: Dec 2010
Ort: Hannover
Beiträge: 121
Bedankt: 97
|
der ordner ist fest "user" ^^
aber im ordner user wird die datei $user angelegt ..
|
|
|
22.01.13, 20:48
|
#4
|
Stammi
Registriert seit: Jan 2010
Beiträge: 1.142
Bedankt: 1.457
|
inhalt der variablen ausgeben lassen (var_dump(implode("",file($user));
wie sind in der datei username und passwort eigentlich voneinander getrennt?
ggf auch mal mit error ausgabe in php beschäftigen, hilft bei der fehlersuche. zBsp: [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
__________________
Irgendwie komisch, dass das was wir gemeinhin als "unmenschlich" bezeichnen, ausschließlich Verhalten von Menschen beschreibt.
|
|
|
22.01.13, 21:16
|
#5
|
Erfahrener Newbie
Registriert seit: Dec 2010
Ort: Hannover
Beiträge: 121
Bedankt: 97
|
ich kann sie durch absatz trennen . momentan ist es aber ein leerzeichen
(absatz ist mir lieber .)
kannst du / ihr mir das gleich in meinen code einfügen ? . dann vestehe ich den zusammenhang besser ^^
MfG
Slluxx
|
|
|
23.01.13, 06:30
|
#6
|
Stammi
Registriert seit: Jan 2010
Beiträge: 1.142
Bedankt: 1.457
|
im moment sucht dein implode nicht nach einem trennzeichen, es wird user und pw also nicht korrekt aus der datei extrahieren; aus dem grund muss die if abfrage im else landen.
darauf solltest Du mit dem Ausgeben des Ergebnis selbst kommen.
in Deinen Code einfügen .. sorry, nein. Das Du Zusammenhang bzw. Funktion Deines Code besser verstehst wenn es jemand anderes für Dich macht, halte ich für eine Fehleinschätzung.
__________________
Irgendwie komisch, dass das was wir gemeinhin als "unmenschlich" bezeichnen, ausschließlich Verhalten von Menschen beschreibt.
|
|
|
23.01.13, 09:40
|
#7
|
Anfänger
Registriert seit: Aug 2012
Beiträge: 13
Bedankt: 13
|
Zitat:
Zitat von Slluxx
der ordner ist fest "user" ^^
aber im ordner user wird die datei $user angelegt ..
|
stümmt ^^ hatte ich in der eile überlesen  der ordner ist fest ....
JETZT habe ich mir mal kurz zeit genommen
1. das s***** funktioniert nur dann, wenn VORHER z.b. ein formular die variablen pw und user via POST gesendet hat. ein direkter aufruf des s*****s wird also nicht hinhauen - ausser du änderst ZUM TEST auf $_GET; um das s***** zu testen, müssen die vars beim aufruf des s*****s aber in die url.
2. haut dein implode SO nicht hin; man explodiert strings 
3. dein s***** schmeisst einen fehler, falls $user nicht als file vorliegt
4. chdir("user") - zum lernen ja, später wirds besser - gell
<?php
$pw = $_GET["pw"]; // bzw. $_POST wenns vom formular kommt
$user = $_GET["user"]; // siehe oben
chdir("user");
//$array = implode("",file($user));
$array = explode(" ", file_get_contents($user));
if($user==$array[0] && $pw==$array[1])
{
echo "Sie sind eingeloggt ( Es passiert jetzt nix weiter)";
}
else
{
echo "Falscher Username oder Passwort";
}
?>
dein benutzerfile darf hier natürlich keine endung haben;
obiges beispiel funktioniert mit dem trennzeichen " " zwischen pw und user
^^
|
|
|
23.01.13, 09:55
|
#8
|
Mamas Liebling
Registriert seit: Jan 2012
Beiträge: 57
Bedankt: 10
|
kleiner Tipp von mir.
Ich arbeite auch gerade an einer neuen Website komplett mit Userinterface, Datenbankanbindung und bla bla bla^^
Mach sowas wie User-Daten (Benutzername, PW, Mail, usw) nicht in einer Datei. das ist nachher zu umfangreich und brauch nachher viel zu viel rechenleistung vom Server (weis ja nicht was du dort noch alles speicherst).
am besten ist es wenn du die User-Daten in eine Datenbank speicherst und wenn sich ein User einloggt mit seinen Daten, dann kannst du das mit Sessions lösen (damit er eingeloggt bleibt).
Ist meiner Meinung nach die bessere lösung und da du ja Anfänger mit PHP bist, kann ich es dir nur ans Herz legen so viel wie möglich über Datenbanken zu machen. Da kommst du früher oder später nicht mehr drumherum.
MfG
Euer Exe777
__________________
Ich: MÖPSE!!!
Schwiegervater: WOOO?
Ich: na da hinten
Schwiegervater: das ist meine Tochter -.-
|
|
|
23.01.13, 10:09
|
#9
|
Anfänger
Registriert seit: Aug 2012
Beiträge: 13
Bedankt: 13
|
Zitat:
Zitat von Exe777
kleiner Tipp von mir.
Ich arbeite auch gerade an einer neuen Website komplett mit Userinterface, Datenbankanbindung und bla bla bla^^
Mach sowas wie User-Daten (Benutzername, PW, Mail, usw) nicht in einer Datei. das ist nachher zu umfangreich und brauch nachher viel zu viel rechenleistung vom Server (weis ja nicht was du dort noch alles speicherst).
am besten ist es wenn du die User-Daten in eine Datenbank speicherst und wenn sich ein User einloggt mit seinen Daten, dann kannst du das mit Sessions lösen (damit er eingeloggt bleibt).
Ist meiner Meinung nach die bessere lösung und da du ja Anfänger mit PHP bist, kann ich es dir nur ans Herz legen so viel wie möglich über Datenbanken zu machen. Da kommst du früher oder später nicht mehr drumherum.
MfG
Euer Exe777
|
ein richtiges(!) login-s***** schaut ja eh total anders aus; er sagte jedoch, er wolle "lernen";
ich finde den ansatz gut, grundsätzliches zunächst ohne db zu lernen.
die aussage, das eine datei mehr leistung abfordert halte ich für etwas sehr verwegen  denn datenbanken sind ja auch nix anderes als "verwaltete dateien"
|
|
|
23.01.13, 19:55
|
#10
|
Banned
Registriert seit: Mar 2012
Beiträge: 337
Bedankt: 93
|
@thomy
Ich glaube eher, dass er so nichts vernünftiges lernen wird.
Macht es Sinn mit einem Auto, das Auto nur rückwärts und max. 5km/h fährt, das Autofahren zu lernen?
Und wenn man der Meinung ist, dass es keinen Unterschied macht Daten nebenläufig aus einer Datei oder einer DB zu ermitteln, dann hat man definitiv absolut keine Ahnung von IT und sollte hier auch keine Ratschläge geben.
|
|
|
24.01.13, 21:25
|
#11
|
Erfahrener Newbie
Registriert seit: Dec 2010
Ort: Hannover
Beiträge: 121
Bedankt: 97
|
eigentlich wollte ich später sowieso mit datenbanken lernen . beides gleichzeitig würde aber nicht klappen . und so kann ich eben noch lernen , wie ich richtig auf nen file ( meinetwegen auch textdatei) zugreife und damit arbeite. was jetzt nicht nur auf ein logins***** bezogen sein soll ..
Ich bedanke mich doch recht herzlich für die antworten
das phps***** bekommt voher auch die variablen von ner html geschickt ^^ also theoretisch funtzt das ja auch .. nur nicht so wie es sollte
Code:
Notice: Undefined variable: _post in C:\xampp\htdocs\111\login.php on line 2
Notice: Undefined variable: _post in C:\xampp\htdocs\111\login.php on line 3
Warning: file_get_contents(): Filename cannot be empty in C:\xampp\htdocs\111\login.php on line 6
Notice: Undefined offset: 1 in C:\xampp\htdocs\111\login.php on line 7
hm . ich bekomme jetzt zwar sie sind eingeloggt .
aber die fehlermeldungen, die meinen, das ich es nicht sein dürfte
( post wird nicht erkannt . also kann er die arrays doch garnicht abgleichen und das sollte dan ja automatisch zu nem ( oder 2 ) false's kommen .
dh mich nicht einloggen oder nicht ?! o.o
( ich beschäftige mich mit php erst seit 3 tagen)
bitte erklärt mich noch, was was bedeutet, wenn ihr ne lösung vorschlagt
MfG
Slluxx
EDIT:
PS:
meijn phps***** schaut nun so aus.. bitte nicht meckern sondern einfach nur sagen, wenn ich was übersehe/falsch mache ^^
Code:
<?php
$pw = $_post["pw"]; // bzw. $_POST wenns vom formular kommt
$user = $_post["user"]; // siehe oben
chdir("user");
//$array = implode("",file($user));
$array = explode(" ", file_get_contents($user));
if($user==$array[0] && $pw==$array[1])
{
echo "Sie sind eingeloggt ( Es passiert jetzt nix weiter)";
}
else
{
echo "Falscher Username oder Passwort";
}
?>
|
|
|
27.01.13, 16:12
|
#12
|
Anfänger
Registriert seit: Aug 2012
Beiträge: 13
Bedankt: 13
|
Zitat:
Zitat von ProgMaster
@thomy
Ich glaube eher, dass er so nichts vernünftiges lernen wird.
Macht es Sinn mit einem Auto, das Auto nur rückwärts und max. 5km/h fährt, das Autofahren zu lernen?
|
siehe unten - "ratschläge" geben - ich bin mir sicher, das du noch pickel ausdrückst und grad weisst, wie man in eine auto einsteigt, ohne sich den kopf anzuhauen ^^
so einen unsinn habe ich noch nie gehört. zum einen man - bleiben wir bei deinem planlosen beispiel - zuerst auto fahren lernt und dann gas gibt.
weiter will ich da gar nicht eingehen, denn erkläre einem blinden eine farbe!
Zitat:
Zitat von ProgMaster
@thomy
Und wenn man der Meinung ist, dass es keinen Unterschied macht Daten nebenläufig aus einer Datei oder einer DB zu ermitteln...
|
..wo steht diese aussage von mir?
Zitat:
Zitat von ProgMaster
@thomy
...dann hat man definitiv absolut keine Ahnung von IT und sollte hier auch keine Ratschläge geben.
|
sagt wer? wie wir jetzt gelernt haben, sind bis dato alle unbekannten berechtigt dies zu mir zu sagen - nur nicht du.
|
|
|
27.01.13, 16:17
|
#13
|
Anfänger
Registriert seit: Aug 2012
Beiträge: 13
Bedankt: 13
|
Zitat:
Zitat von Slluxx
eigentlich wollte ich später sowieso mit datenbanken lernen . beides gleichzeitig würde aber nicht klappen . und so kann ich eben noch lernen , wie ich richtig auf nen file ( meinetwegen auch textdatei) zugreife und damit arbeite. was jetzt nicht nur auf ein logins***** bezogen sein soll ..
Ich bedanke mich doch recht herzlich für die antworten
das phps***** bekommt voher auch die variablen von ner html geschickt ^^ also theoretisch funtzt das ja auch .. nur nicht so wie es sollte
Code:
Notice: Undefined variable: _post in C:\xampp\htdocs\111\login.php on line 2
Notice: Undefined variable: _post in C:\xampp\htdocs\111\login.php on line 3
Warning: file_get_contents(): Filename cannot be empty in C:\xampp\htdocs\111\login.php on line 6
Notice: Undefined offset: 1 in C:\xampp\htdocs\111\login.php on line 7
hm . ich bekomme jetzt zwar sie sind eingeloggt .
aber die fehlermeldungen, die meinen, das ich es nicht sein dürfte
( post wird nicht erkannt . also kann er die arrays doch garnicht abgleichen und das sollte dan ja automatisch zu nem ( oder 2 ) false's kommen .
dh mich nicht einloggen oder nicht ?! o.o
( ich beschäftige mich mit php erst seit 3 tagen)
bitte erklärt mich noch, was was bedeutet, wenn ihr ne lösung vorschlagt
MfG
Slluxx
EDIT:
PS:
meijn phps***** schaut nun so aus.. bitte nicht meckern sondern einfach nur sagen, wenn ich was übersehe/falsch mache ^^
Code:
<?php
$pw = $_post["pw"]; // bzw. $_POST wenns vom formular kommt
$user = $_post["user"]; // siehe oben
chdir("user");
//$array = implode("",file($user));
$array = explode(" ", file_get_contents($user));
if($user==$array[0] && $pw==$array[1])
{
echo "Sie sind eingeloggt ( Es passiert jetzt nix weiter)";
}
else
{
echo "Falscher Username oder Passwort";
}
?>
|
sorry, das passiert, wenn man(n) gewohnt ist immer klein zu schreiben
$_post etc. sind umgebungsvariablen und sind somit GROSS zu schreiben
also...$_POST oder $_GET
und NOCHMAL: die umgebungsvariable/array $_POST hat nur dann inhalt, wenn die daten via POST an dein s***** geschickt wurden -
aber wie gesagt, setze dieses login s***** NIEMALS produktiv ein
|
|
|
27.01.13, 16:26
|
#14
|
Banned
Registriert seit: Aug 2012
Beiträge: 223
Bedankt: 68
|
Zitat:
Zitat von thomy68
die aussage, das eine datei mehr leistung abfordert halte ich für etwas sehr verwegen  denn datenbanken sind ja auch nix anderes als "verwaltete dateien" 
|
Daraus folgere ich, dass Du absolut keine Ahnung von IT hast!
|
|
|
27.01.13, 18:16
|
#15
|
Anfänger
Registriert seit: Aug 2012
Beiträge: 13
Bedankt: 13
|
Zitat:
Zitat von NetWebs
Daraus folgere ich, dass Du absolut keine Ahnung von IT hast!
|
ja sowas, progmasters bruder ist auch da - gibts da noch mehr von euch?
ihr müsst beide zwillinge sein, denn wenn man eurer beider beiträge mal so liest, dann erkennt man eigentlich nirgendswo effektive lösungen oder verwertbare hilfestellungen, sondern nur gequake - luftblasen - nachgequatsche
nun gut, aber ich will mich ja nicht mit euch meistern messen  macht weiter so und grüsst mir eure brüder, die hier dann noch ihren senf dazugeben
|
|
|
27.01.13, 20:13
|
#16
|
Banned
Registriert seit: Mar 2012
Beiträge: 337
Bedankt: 93
|
Selbst wenn dem so wäre, würde es nichts daran ändern, dass Deine IT-Kenntnisse stark begrenzt sind.
|
|
|
27.01.13, 20:36
|
#17
|
abcdefgh
Registriert seit: Oct 2008
Ort: Ziegengehege
Beiträge: 2.650
Bedankt: 2.533
|
Zitat:
Zitat von ProgMaster
Selbst wenn dem so wäre, würde es nichts daran ändern, dass Deine IT-Kenntnisse stark begrenzt sind.
|
Und darum geht es hier im Thread nicht. Also Ball flach halten!
|
|
|
23.02.13, 17:58
|
#18
|
Erfahrener Newbie
Registriert seit: Dec 2010
Ort: Hannover
Beiträge: 121
Bedankt: 97
|
problem ist immernoch da xD
__________________
Nichts hier. Trozdem mal bedanken.
|
|
|
23.02.13, 18:49
|
#19
|
Profi
Registriert seit: May 2009
Ort: riding the roos
Beiträge: 1.468
Bedankt: 1.057
|
Wow, das ist ja mal ne umfassende Fehlerveschreibung.
Du erwartest ernsthaft das dir so jemand hilft ?
Wo ist denn der Rest deines Codes, nämlich der Teil wo der User Benutzernamen und Kennwort eingibt und wie sieht dein jetziger Code komplett aus ?
Was erhälst du für eine Fehlermeldung ?
|
|
|
Forumregeln
|
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren
HTML-Code ist Aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:25 Uhr.
().
|