Avaleht
uus teema   vasta Tarkvara »  WWW »  PHP sisselogimise andmete salvestamine märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
Amphor
Kreisi kasutaja
Amphor

liitunud: 28.01.2007



Autoriseeritud ID-kaardiga

sõnum 12.04.2010 22:41:19 PHP sisselogimise andmete salvestamine vasta tsitaadiga

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&auml;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&auml;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
vaata kasutaja infot saada privaatsõnum
kullar
HV kasutaja
kullar

liitunud: 26.11.2006



Autoriseeritud ID-kaardiga

sõnum 12.04.2010 22:53:19 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
Amphor
Kreisi kasutaja
Amphor

liitunud: 28.01.2007



Autoriseeritud ID-kaardiga

sõnum 12.04.2010 23:29:03 vasta tsitaadiga

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&auml;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
vaata kasutaja infot saada privaatsõnum
kullar
HV kasutaja
kullar

liitunud: 26.11.2006



Autoriseeritud ID-kaardiga

sõnum 13.04.2010 08:24:06 vasta tsitaadiga


<?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&auml;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
vaata kasutaja infot saada privaatsõnum
Amphor
Kreisi kasutaja
Amphor

liitunud: 28.01.2007



Autoriseeritud ID-kaardiga

sõnum 13.04.2010 18:52:38 vasta tsitaadiga

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&auml;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
vaata kasutaja infot saada privaatsõnum
kullar
HV kasutaja
kullar

liitunud: 26.11.2006



Autoriseeritud ID-kaardiga

sõnum 14.04.2010 14:24:44 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 14.04.2010 15:08:36 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
kullar
HV kasutaja
kullar

liitunud: 26.11.2006



Autoriseeritud ID-kaardiga

sõnum 14.04.2010 15:18:17 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 14.04.2010 15:19:48 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
Amphor
Kreisi kasutaja
Amphor

liitunud: 28.01.2007



Autoriseeritud ID-kaardiga

sõnum 14.04.2010 20:02:42 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  WWW »  PHP sisselogimise andmete salvestamine
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.