Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
Amphor
Kreisi kasutaja

liitunud: 28.01.2007
|
12.04.2010 22:41:19
PHP sisselogimise andmete salvestamine |
|
|
et sisi on vaja phps sisselogimise andmeid salvestada. andmebaase ei kasuta, kirjutan faili.
Muidu oleks kõik korras olnud, kui ma poleks selline esteet olnud ja neid andmeid tabelikujul esitada soovinud
Siin on minu versioon hetkeseisuga:
<?php
session_start();
if( isSet($_POST["minukasutajanimi"]) && isSet($_POST["minuparool"])){
$sobis = "Ei";
if("kasutajanimi"==$_POST["minukasutajanimi"] && "parool"==$_POST["minuparool"]){
$_SESSION["r92au117-logimine"] = 1;
$sobis = "Jah";
}
header("Location: ". $_SERVER["HTTP_REFERER"]);
$kasutaja = $_POST["minukasutajanimi"];
$parool = $_POST["minuparool"];
$ip = $_SERVER["REMOTE_ADDR"];
$tabel = "
?>
<html>
<body>
<table>
<tr>
<td>Kasutajanimi:</td>
<td><?php echo $kasutaja;?></td>
</tr>
<tr>
<td>Parool:</td>
<td><?php echo $parool;?></td>
</tr>
<tr>
<td>Kuupäev ja kell:</td>
<td><?php echo date('d/m/Y, H:i:s');?></td>
</tr>
<tr>
<td>IP-aadress:</td>
<td><?php echo $ip;?></td>
</tr>
<tr>
<td>Õige kasutajanimi ja parool?></td>
<td><?php echo $sobis;?></td>
</tr>
</table>
</body>
</html>
<?php
"
?>
<?php
;
$f = fopen("failid/login.txt", "a");
if($f){
fwrite($f, $tabel."\n");
fclose ($f);
} |
Teise variandina on osa koodist nüüd nii:
$kasutaja = $_POST["minukasutajanimi"];
$parool = $_POST["minuparool"];
$ip = $_SERVER["REMOTE_ADDR"];
$tabel = "
<html>
<body>
<table>
<tr>
<td>Kasutajanimi:</td>
<td>".$kasutaja."</td>
</tr>
<tr>
<td>Parool:</td>
<td>".$parool."</td>
</tr>
<tr>
<td>Kuupäev ja kell:</td>
<td>".date('d/m/Y, H:i:s')."</td>
</tr>
<tr>
<td>IP-aadress:</td>
<td>".$ip."</td>
</tr>
<tr>
<td>Õige kasutajanimi ja parool?</td>
<td>".$sobis."</td>
</tr>
</table>
</body>
</html>";
$f = fopen("failid/login.txt", "a"); |
Seal on paar kahtlast kohta, kust võtsin loogika järgi, et nii võiks ju töötada, aga minu loogika vist php'le ei kõlba. Kas ma pean htmli ka ära lõpetama enne iga php'sse minekut?
_________________ Kui postitus on sisulage, siis loetakse signatuuri
viimati muutis Amphor 12.04.2010 23:10:24, muudetud 1 kord |
|
Kommentaarid: 35 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
33 |
|
tagasi üles |
|
 |
kullar
HV kasutaja

liitunud: 26.11.2006
|
12.04.2010 22:53:19
|
|
|
hmm, väga raske ja segane aru saada, mida täpsemalt vajad, kuid selleks et seda $tabel muutujat faili kirjutada uuri selliseid funktsioone nagu: ob_get_contents. Lisaks faili kirjutamiseks on uuem funktsioon file_put_contents. Miks kirjutad sellised asjad faili, pmt salvestad endale kasutaja parooli ilma küptimata ja rikud ju privaatsust. faili võid ka nii kirjutada nt
$andmed = $_POSt['username']."|".$_POST['password']."|".date('d/m/Y, H:i:s')."|".$ip
|
Kus alati tead, et esimene on kasutajanimi, teine password jne. Lisaks pärast hea parsida laiali "|" järgi.
Edit: Igale reale lisa ka "\n" lõppu, et saaksid read kätte, siis hea parsida, esmalt "\n" märgi järgi ja hiljem tulpade jaoks "|" märk
_________________ Online Perekonna Eelarve, Keerukamad veebipõhised infosüsteemid jms |
|
Kommentaarid: 27 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
1 :: |
25 |
|
tagasi üles |
|
 |
Amphor
Kreisi kasutaja

liitunud: 28.01.2007
|
12.04.2010 23:29:03
|
|
|
jah, sellest ma rääkisin, et tabulaatoritega vms saab ka eraldada ja seda ma mõistan, aga tahtsin ilusat asja.
See toimub kõik õppe eesmärgil, see ei lähe kuhugi avalikku veebi üles.
see file_put_contents toimis täpselt samamoodi, ob_get_contentsi ei mõistnud välja veel:
echo "
<html>
<body>
<table>
<tr>
<td>Kasutajanimi:</td>
<td>".$kasutaja."</td>
</tr>
<tr>
<td>Parool:</td>
<td>".$parool."</td>
</tr>
<tr>
<td>Kuupäev ja kell:</td>
<td>".date('d/m/Y, H:i:s')."</td>
</tr>
<tr>
<td>IP-aadress:</td>
<td>".$ip."</td>
</tr>
<tr>
<td>Õige kasutajanimi ja parool?</td>
<td>".$sobis."</td>
</tr>
</table>
</body>
</html>";
$out1 = ob_get_contents();
$f = fopen("failid/login.txt", "a");
if($f){
fwrite($f, $out1."\n"); |
_________________ Kui postitus on sisulage, siis loetakse signatuuri |
|
Kommentaarid: 35 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
33 |
|
tagasi üles |
|
 |
kullar
HV kasutaja

liitunud: 26.11.2006
|
13.04.2010 08:24:06
|
|
|
<?php
ob_start();
?>
<html>
<body>
<table>
<tr>
<td>Kasutajanimi:</td>
<td><?=$kasutaja?></td>
</tr>
<tr>
<td>Parool:</td>
<td><?=$parool?></td>
</tr>
<tr>
<td>Kuupäev ja kell:</td>
<td><?=date('d/m/Y, H:i:s')?></td>
</tr>
<tr>
<td>IP-aadress:</td>
<td><?=$ip?></td>
</tr>
<tr>
<td>Õige kasutajanimi ja parool?</td>
<td><?=$sobis?></td>
</tr>
</table>
</body>
</html>
<?php
$out1 = ob_get_contents();
ob_end_clean();
file_put_contents("failid/login.txt",$out1,FILE_APPEND);
?>
|
"<?=" märgendi asemel saab kasutada ka "<?php echo", kui short tagid on keelatud.
file_put_contents'i kasutatakse faili kirjutamiseks, aga ob_get_contents'i kasutatakse andmete kätte saamiseks, mis jääb ob_start'i ja ob_get_contents vahele.
_________________ Online Perekonna Eelarve, Keerukamad veebipõhised infosüsteemid jms |
|
Kommentaarid: 27 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
1 :: |
25 |
|
tagasi üles |
|
 |
Amphor
Kreisi kasutaja

liitunud: 28.01.2007
|
13.04.2010 18:52:38
|
|
|
ob_start();
?>
<html>
<body>
<table>
<tr>
<td>Kasutajanimi:</td>
<td><?=$kasutaja?></td>
</tr>
<tr>
<td>Parool:</td>
<td><?=$parool?></td>
</tr>
<tr>
<td>Kuupäev ja kell:</td>
<td><?=date('d/m/Y, H:i:s')?></td>
</tr>
<tr>
<td>IP-aadress:</td>
<td><?=$ip?></td>
</tr>
<tr>
<td>Õige kasutajanimi ja parool?</td>
<td><?=$sobis?></td>
</tr>
</table>
</body>
</html>
<?php
$out1 = ob_get_contents();
ob_end_clean();
file_put_contents("failid/login.txt",$out1,FILE_APPEND); |
on kood ja väljund
<html>
<body>
<table>
<tr>
<td>Kasutajanimi:</td>
<td><?=$kasutaja?></td>
</tr>
<tr>
<td>Parool:</td>
<td><?=$parool?></td>
</tr>
<tr>
<td>Kuupäev ja kell:</td>
<td><?=date('d/m/Y, H:i:s')?></td>
</tr>
<tr>
<td>IP-aadress:</td>
<td><?=$ip?></td>
</tr>
<tr>
<td>Õige kasutajanimi ja parool?</td>
<td><?=$sobis?></td>
</tr>
</table>
</body>
</html>
|
_________________ Kui postitus on sisulage, siis loetakse signatuuri |
|
Kommentaarid: 35 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
33 |
|
tagasi üles |
|
 |
kullar
HV kasutaja

liitunud: 26.11.2006
|
14.04.2010 14:24:44
|
|
|
No eks ise pead teadma kust tulevad erinevad muutujad, kuid ma ei saa aru, miks date ei lähe korralikut kuupäevaks, pastesin selle koodi serverisse ja kuupäev tuli korrektselt.
Ma ei saagi aru, kas sul on veel mingi probleem või mitte või mida see viimane postitus sul täpselt tähendab?
_________________ Online Perekonna Eelarve, Keerukamad veebipõhised infosüsteemid jms |
|
Kommentaarid: 27 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
1 :: |
25 |
|
tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004

|
14.04.2010 15:08:36
|
|
|
Hetkel näib olema pigem <? vs <?php erinevus. <? kasutamist tuleks vältida uue koodi loomisel.
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
 |
kullar
HV kasutaja

liitunud: 26.11.2006
|
14.04.2010 15:18:17
|
|
|
mikk36 kirjutas: |
Hetkel näib olema pigem <? vs <?php erinevus. <? kasutamist tuleks vältida uue koodi loomisel. |
Minu mäletamist mööda peaks php selle peale veateate andma? Kui kasutada "<?php" osa, siis tuleb seda kasutada koos echoga!
_________________ Online Perekonna Eelarve, Keerukamad veebipõhised infosüsteemid jms |
|
Kommentaarid: 27 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
1 :: |
25 |
|
tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004

|
14.04.2010 15:19:48
|
|
|
kullar kirjutas: |
mikk36 kirjutas: |
Hetkel näib olema pigem <? vs <?php erinevus. <? kasutamist tuleks vältida uue koodi loomisel. |
Minu mäletamist mööda peaks php selle peale veateate andma? Kui kasutada "<?php" osa, siis tuleb seda kasutada koos echoga! |
Veateate mille peale andma? Ta ei huvitugi sellest <?= osast sest see ei ole php kood.
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
 |
Amphor
Kreisi kasutaja

liitunud: 28.01.2007
|
14.04.2010 20:02:42
|
|
|
Nüüd onkõik nii kuis peab, tegelikult oli nii, et ma ei märganud (ega ka keegi teine), et login.txt oli see sihtfail, mitte login.html
_________________ Kui postitus on sisulage, siis loetakse signatuuri |
|
Kommentaarid: 35 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
33 |
|
tagasi üles |
|
 |
|