...elikkä joops, minulla on kaikki rekisteröityneet käyttäjät ( https://www.ohjelmointiputka.net/koodivinkit/
Nyt kuitenkin kekkasin, että kun käyttäjästä ja e-mailista ei saa oikein kunnon profileä, niin lisään sinne kaikki puhelinnumerot, sukupuolet, messuosoitteet, iät ym. ym. eli tiedosto olisi muotoa:
Käyttäjänimi|email|md5 -kryptattu passy|ikä|sukupuoli|mese|aol|yahoo|091234567| jne jne
No nämä infot voivat tietysti muuttua ikää ja sukupuolta lukuunottamatta, ja käyttäjä ehkä haluaa vaihtaa oletuksen, että e-mail näytetään.
Joten miten voisi PHP:llä hakea tiedostosta rivin, ja vaihtaa datat sinne formin avulla? Kiitos!
<?php $etsittavaNimi = "Martti69"; // muokattava käyttäjä $kayttajat = file("kayttajat.txt"); // käyttäjärivit taulukkoon $tiedot = array(); // taulukko käyttäjän tietoja varten foreach($kayttajat as $rivi) { $kayttajatiedot = explode("|", trim($rivi)); if($kayttajatiedot[0] == $etsittavaNimi) { $tiedot = $kayttajatiedot; break; } // if } // foreach ?>
Nyt $tiedot - taulussa on etsityn käyttäjän tiedot tuossa mainitsemassasi järjestyksessä ja nyt voit ne tulostaa vaikkapa muokattavaksi formiin tai mitä vaan. Sit tallennusvaiheessa teet vastaavan haun (ja vertaat ilmeisesti tuota salasanaa myös) ja muokkaat tietoja haluamallasi tavalla ja tallennat tiedot takaisin tiedostoon.
<?php // tauhkaa formista $aol = $_POST['aol']; $mese = $_POST['mese']; // hae tässä käyttäjän tiedot taulukkoon $tiedot[xyz] = $aol; $tiedot[yzx] = $mese; $tallennettavaRivi = implode("|", $tiedot); // taulukko riviksi ?>
Tallennustapa vapaa :)
Edit: Tapoja on miljardeja, tai jopa tuhansia, mutta tässä siis yksi.
Muuten menee hyvin, mutta kirjoita se ei tee.
Minä ainakin käsitin tuon "Tallennustapa vapaa :)" -rivin niin, että tuo kirjoittaminen jäi kotitehtäväksi.
:)... tuo tallennus oli varmaankin se, juuri miksi halusin tämän vinkin, jos katsot tarkaan noita http://www.funfonex.tk , huomaat että monilla sivuilla ideana on hakea tiedostosta tiedot arrayhin, katsoa, mikäli joku tieto on sama, jota haetaan -purkkaa. Mitä ilmeisemmin tallentaisin yhden rivin kaikkien muiden rivien päälle, niin että jää ainoastaan tämä päivitetty versio ko. datasta.
...eli voisitko Olga tai joku muu antaa vastauskirjasta tiedostoontallennus pätkän? Kiitos!
Suositaan mieluummin niitä periaatteita, eli:
Etsit rivin, jolla etsitty tieto on ja muokkaat sitä riviä. Jos se on vaikka jaoteltu |-merkeillä, niin explodea kehiin, muokattavat tiedot entisten tietojen paikalle, implodeet sen rivistä x muodostetun taulukon ja pusket takaisin tuohon tiedoston taulukoon. Sitten implodeet sen tiedoston taulukon. ja kirjotat tiedostoon vaikka modella w+.
EDIT: Jos olet itse tehnyt alkuperäisen käyttäjätiedoston luonnin niin sinulla on kaikki tarvittava tieto funktioista kyseisen homman ratkaisemiseksi. Tarvitsee vain hieman päättelykykyä.
eli...
lainaus:
implodeet sen rivistä x muodostetun taulukon ja pusket takaisin tuohon tiedoston taulukoon. Sitten implodeet sen tiedoston taulukon.
saisko suomeksi, kiitos?
Jos nyt yrittäs kääntää kämäselle suomenkielelle noita termejä:
Tuossa epäselvässä kohdassa rivi x tarkoittaa sitä tiedoston riviä, josta haettava tieto löytyi. Siitä muodostettu taulukko on siis muodostettu explode-funktiolla. Sen taulukon tiedoista sinun pitää muuttaa tietoja, joita käyttäjä on muuttanut. Jos ei aukea niin tee joku tekstitiedosto, missä lukee mitä missäkin indeksissä on. Itsellä on tällaisia, tyyliin:
Esimarvostelu.txt kirjoitti:
<nimi>|<päiväys>|<näyttelijät>|<juoni>|<arvosana>
Jotain seuraavaa, mistä jatkokehittäjätki näkevät helposti tietojen järjestyksen.
no nyt tajusin... vaan en saa siitä väännettyä koodia... voisiko joku jelppiä, helpommalla pääsisitte. :D
...haloo? Edes joku?
SysRq868 kirjoitti:
...haloo? Edes joku?
Et sinä tuolleen saa nopeammin vastausta. Joskus saa vastausta odottaa monta päivää. Koska minäkään en osaa vastata, tämä oli aika turha viesti.
Keskustelualueen ohjeet kirjoitti:
Älä pyydä valmista koodia. Ohjelmointiputkan tarkoitus on auttaa ohjelmointiongelmissa mutta ei tehdä ohjelmia kysyjän puolesta.
Tuo on varsin yksinkertainen koodi jos on lukenut oppaat läpi.
Latska hyvä näitä on aina välistä muistutella.
EDIT: Z0mg ohjeissa on typo.
Keskustelualueen ohjeet kirjoitti:
Älä lähetä turhia viestejä. Jos jollakulla on ongelma, älä lähetä vastaukseksi pelkästään "Kyllä siinä varmaan on joku vialla" tai "Etsi Googlella".
Keskustelualueen ohjeet kirjoitti:
Kunnioita muita keskustelijoita, älä tee kenestäkään pilkkaa.
Että silleen. Ainiin, ja...
SysRq868 kirjoitti:
Joten miten voisi PHP:llä hakea tiedostosta rivin, ja vaihtaa datat sinne formin avulla?
Joten saisko apua?
Tuosta löytyy jo topikki... minun aloittamani.
TETRIS kirjoitti:
Tuosta löytyy jo topikki... minun aloittamani.
https://www.ohjelmointiputka.net/keskustelu/4659-tiedoston-muokkaaminen :)
Ei ollut tarkoitus loukata, mutta kun et viitsi kertoa, missä vaikeus piilee, mitä osaa et saa tehtyä jne.
Sirch kirjoitti:
what does it say ffs? it doesn't say "Something's wrong" unless you've got some teletubbies compiler
Ja hakua saa käyttää.
No vialla on se, että muu luonnistuu, mutta tietyn filun tietyn rivin vaihto toiseen riviin, joka on määritelty vaikka muuttujassa $erkki.
Eli siis käyttäjän muokkaus...
Tai sit jos joku löytää flatfilellä toimivan täydellisen rekkaus- ja loginnisysteemin, jossa olis käyttäjänmuokkaus, ehkä osaisin itse eristää tuon koodin...
Vaikeus piilee siinä, että en osaa käyttää juuri muita toimintoja PHP:ssä kuin echo, fopen, fclose, fwrite, $_GET, $_POST, $_SESSION, ym session-funktit, array ja file.
Ah, jos JavaScript voisi muokata filuja... noei.
Luet sen tiedoston taulukkoon, niin siitä on lapsellisen helppo muuttaa jokin rivi toiseksi.
Sanosinpa notta RTFM, tämän sivuston oppaat&manuska auttaa, kerroin jo periaatteen.
Mulla on käytössä saman kaltainen systeemi ja tässä esimerkki kuinka minä tein päivitykset, hieman pelkistetty esimerkki (lisättävä paremmin sitten tarkastuksia ym oman maun mukaan)
kayttajat.dat -tiedosto
jamppa|jamppa1|Jarmo|Myllys| tomppa|tomppa8|Tommi|Koivunen| jukkie|jukkie2|Jukka|Tarvanen|
ch1.php -tiedosto (valitaan muokattava tunnus)
<html> <head> <title>Valitse muokattava tunnus</title> </head> <body> <table border="0" width="100%" height="100%" cellspacing="0" cellpadding="0"> <tr><td align="center" valign="center"> <table width="446" border="0" height="200" cellspacing="1" cellpadding="0" style="border:1px #000000 solid"> <form action="ch2.php" method="post"> <tr><td colspan="2"> </td></tr> <?php $tiedosto = "kayttajat.dat"; //tiedosto jossa tunnarit/käyttäjä/w00teva $data = file($tiedosto); for ($i=0; $i<count($data); $i++) { $entry = explode("|", $data[$i]); echo "<tr><td colspan=\"2\"> </td></tr>"; echo "<tr height=\"20\"><td align=\"right\" width=\"180\"><input type=\"radio\" name=\"tunnus\" value=\"$entry[0]\"> </td></td><td> $entry[0]</td></tr>"; } ?> <tr><td colspan="2"> </td></tr> <tr><td colspan="2" height="35" align="center"><input type="submit" value="Valitse" size="120"> <input name="poistu" type="Button" value="Poistu" onClick="javascript:window.close();"></td></tr> <tr><td colspan="2"> </td></tr> </form></table> <td></tr></table> </body> </html>
ch2.php -tiedosto
<html> <head> <title>Päivitä tunnusta</title> </head> <body> <table border="0" width="100%" height="100%" cellspacing="0" cellpadding="0"> <tr><td align="center" valign="center"> <?php if (isset($_POST["paivita"])) { //tiedosto missä käyttäjätiedot $tiedosto = "kayttajat.dat"; //otetaan lomakkeelta tulleet tiedot $tunnus = $_POST["tunnus"]; $passu = $_POST["passu"]; $etunimi = $_POST["etunimi"]; $sukunimi = $_POST["sukunimi"]; $data = file($tiedosto); $userit = array(); //kerätään tunnukset for ($i=0; $i<count($data); $i++) { $solu = explode("|", $data[$i]); $userit[$i] = $solu[0]; } //tarkastetaan että käyttäjä on tiedostossa if (in_array($tunnus, $userit) == TRUE) { //temppi tiedosto joka tehdään uusin tiedoin $temp = "".$tiedosto.".temp"; $temptiedosto = fopen($temp,"w+"); for ($i=0; $i<count($data); $i++) { $solu = explode("|", $data[$i]); $nykyrivi = $solu[0]."|".$solu[1]."|".$solu[2]."|".$solu[3]."|\n"; $uusirivi = $tunnus."|".$passu."|".$etunimi."|".$sukunimi."|\n"; //jos tulee eiole päivitettävä tunnus kyseessä rivillä niin kirjoitetaan nykyinenrivi if($solu[0] != $tunnus) fwrite($temptiedosto,$nykyrivi); //muuten on päivitettävä kyseessä ja kirjoitetaan uusi päivitetty rivi else fwrite($temptiedosto, $uusirivi); } fclose($temptiedosto); //poistetaan vanha tiedosto unlink($tiedosto); //nimetään temppitiedosto oikeaksi rename($temp,$tiedosto); print <<<EOT <table width="446" border="0" height="50" cellspacing="0" cellpadding="0"> <tr><td align="center" valign="center" style="BORDER: 1px solid #000000"><b>Tunnuksen tiedot päivitetty!</b></td></tr> <tr><td height="10"></td></tr> </table> EOT; } else { print <<<EOT <table width="446" border="0" height="50" cellspacing="0" cellpadding="0"> <tr><td align="center" valign="center" style="BORDER: 1px solid #000000"><b>Ei löydy tunnusta: <u>$tunnus</u>!</b></td></tr> <tr><td height="10"></td></tr> </table> EOT; } } ?> <?php // otetaan vastaan ch1.php tiedostosta valittu tunnus $tunnus = $_POST["tunnus"]; // tiedosto jossa käyttäjät $tiedosto = "kayttajat.dat"; $data = file($tiedosto); // haetaan tunnuksen muut tiedot for ($i=0; $i<count($data); $i++) { $solu = explode("|", $data[$i]); if($solu[0] == $tunnus) { $tunnus = $solu[0]; $passu = $solu[1]; $etunimi = $solu[2]; $sukunimi = $solu[3]; } } // tehdään lomake ja laitetaan muokattavan tunnuksen tiedot siihen print <<<EOT <table width="446" border="0" height="200" cellspacing="0" cellpadding="0" style="border:1px #000000 solid"> <form action="ch2.php" method="post"> <tr><td colspan="3"> </td></tr> <tr><td width="130" height="25" align="right">Tunnus:</td><td width="10"></td><td width="306" align="left"><input type="text" name="tunnus" size="42" value="$tunnus"></td></tr> <tr><td width="130" height="25" align="right">Passu:</td><td width="10"></td><td align="left"><input type="text" name="passu" size="42" value="$passu"></td></tr> <tr><td width="130" height="25" align="right">Etunumi:</td><td width="10"></td><td align="left"><input type="text" name="etunimi" size="42" value="$etunimi"></td></tr> <tr><td width="130" height="25" align="right">Sukunimi:</td><td width="10"></td><td align="left"><input type="text" name="sukunimi" size="42" value="$sukunimi"></td></tr> <tr><td colspan="3"> </td></tr> <tr><td width="130" height="35" align="right"> </td><td width="10"></td><td align="left"><input name="paivita" type="submit" value="Päivitä"> <input name="poistu" type="Button" value="Poistu" onClick="javascript:window.close();"></td></tr> <tr><td colspan="3"> </td></tr> </form></table> <td></tr></table> </body> </html> EOT; ?>
ch2.php
<html> <head> <title>Päivitä tunnusta</title> </head> <body> <table border="0" width="100%" height="100%" cellspacing="0" cellpadding="0"> <tr><td align="center" valign="center"> <?php if (isset($_POST["paivita"])) { $tiedosto = "kayttajat.txt"; $tunnus = $_POST["tunnus"]; $passu = $_POST["passu"]; $etunimi = $_POST["etunimi"]; $sukunimi = $_POST["sukunimi"]; $data = file($tiedosto); $userit = array(); for ($i=0; $i<count($data); $i++) { $solu = explode("|", $data[$i]); $userit[$i] = $solu[0]; } if (in_array($tunnus, $userit) == TRUE) { $temp = "".$tiedosto.".temp"; $temptiedosto = fopen($temp,"w+"); for ($i=0; $i<count($data); $i++) { $solu = explode("|", $data[$i]); $nykyrivi = $solu[0]."|".$solu[1]."|".$solu[2]."|".$solu[3]."|\n"; $uusirivi = $tunnus."|".$passu."|".$etunimi."|".$sukunimi."|\n"; if($solu[0] != $tunnus) fwrite($temptiedosto,$nykyrivi); else fwrite($temptiedosto, $uusirivi); } fclose($temptiedosto); unlink($tiedosto); rename($temp,$tiedosto); print <<<EOT <table width="446" border="0" height="50" cellspacing="0" cellpadding="0"> <tr><td align="center" valign="center" style="BORDER: 1px solid #000000"><b>Tunnuksen tiedot päivitetty!</b></td></tr> <tr><td height="10"></td></tr> </table> EOT; } else { print <<<EOT <table width="446" border="0" height="50" cellspacing="0" cellpadding="0"> <tr><td align="center" valign="center" style="BORDER: 1px solid #000000"><b>Ei löydy tunnusta: <u>$tunnus</u>!</b></td></tr> <tr><td height="10"></td></tr> </table> EOT;} } ?> <?php $tunnus = "Martti2"; $tiedosto = "kayttajat.txt"; $data = file($tiedosto); for ($i=0; $i<count($data); $i++) { $solu = explode("|", $data[$i]); if($solu[0] == $tunnus) { $tunnus = $solu[0]; $passu = $solu[1]; $etunimi = $solu[2]; $sukunimi = $solu[3]; } } echo '<table width="446" border="0" height="200" cellspacing="0" cellpadding="0" style="border:1px #000000 solid"> <form action="ch2.php" method="post"> <tr><td colspan="3"> </td></tr> <tr><td width="130" height="25" align="right">Tunnus:</td><td width="10"></td><td width="306" align="left"><input type="text" name="tunnus" size="42" value="$tunnus"></td></tr> <tr><td width="130" height="25" align="right">Passu:</td><td width="10"></td><td align="left"><input type="text" name="passu" size="42" value="$passu"></td></tr> <tr><td width="130" height="25" align="right">Etunumi:</td><td width="10"></td><td align="left"><input type="text" name="etunimi" size="42" value="$etunimi"></td></tr> <tr><td width="130" height="25" align="right">Sukunimi:</td><td width="10"></td><td align="left"><input type="text" name="sukunimi" size="42" value="$sukunimi"></td></tr> <tr><td colspan="3"> </td></tr> <tr><td width="130" height="35" align="right"> </td><td width="10"></td><td align="left"><input name="paivita" type="submit" value="Päivitä"> <input name="poistu" type="Button" value="Poistu" onClick="javascript:window.close();"></td></tr> <tr><td colspan="3"> </td></tr> </form></table> <td></tr></table> </body> </html>'; ?>
Ja unexpected dollari rivillä 76.
Muuttujat ja teksti samassa, vois erotella ni ois selkeempää ja toimis kaikilla palvelimilla. Nyt jos palvelimella on joku asetus kohdallaan niin formiin tulostuu vain "$sukunimi" jne. Hyvin toimii kun ottaa EOT:t pois ja korvaa tageilla.
öhh... kun nyt leikin tuolla toimivalla versiolla... doze, mitä järkeä antaa ihmisen vaihtaa tunnusta? Onko sulla kotisivuillas tunnuksenvaihto? Ja sitä paitsi, jos Martti2 vaihtaa nimensä Martti3 :ksi, niin, skripti toteaa, että Martti3 :ea ei ole listalla, ja ei tee mitään.
Mutta nyt toimii! Kiitos kaikille!
...tai sitten ei...
Warning: unlink(kayttajat.txt): Permission denied in /mbnet/f/funfonex/omataset.php on line 57
Warning: rename(temp/kayttajat.txt.temp,kayttajat.txt): Permission denied in /mbnet/f/funfonex/omataset.php on line 58
<?php if (isset($_POST["paivita"])) { $tiedosto = "kayttajat.txt"; $tunnus = $_POST["tunnus"]; $mail = $_POST["mail"]; $pass = $_POST["pass"]; $data = file($tiedosto); $userit = array(); for ($i=0; $i<count($data); $i++) { $solu = explode("|", $data[$i]); $userit[$i] = $solu[0]; } if (in_array($tunnus, $userit) == TRUE) { $temp = "temp/".$tiedosto.".temp"; $temptiedosto = fopen($temp,"w+"); for ($i=0; $i<count($data); $i++) { $solu = explode("|", $data[$i]); $nykyrivi = $solu[0]."|".$solu[1]."|".$solu[2]."|\n"; $uusirivi = $tunnus."|".$mail."|".$pass."|\n"; if($solu[0] != $tunnus) fwrite($temptiedosto,$nykyrivi); else fwrite($temptiedosto, $uusirivi); } fclose($temptiedosto); unlink($tiedosto); rename($temp,$tiedosto); echo '<b>Tunnuksen tiedot päivitetty!</b>'; } else { echo '<b>Ei löydy tunnusta: <u>'.$tunnus.'</u>!</b>'; } } ?> <?php $tunnus = $_SESSION["sess_tunnus"]; $tiedosto = "kayttajat.txt"; $data = file($tiedosto); for ($i=0; $i<count($data); $i++) { $solu = explode("|", $data[$i]); if($solu[0] == $tunnus) { $tunnus = $solu[0]; $mail = $solu[1]; $pass = $solu[2]; } } echo '<table border="0" cellspacing="0" cellpadding="0" class=normal> <form action="omataset.php" method="post"> <input name="pass" type="hidden" value="'.$pass.'"> <input name="tunnus" type="hidden" value="'.$_SESSION["sess_tunnus"].'"> <tr><td width=200>Tunnus:</td><td width="306" align="left">'.$_SESSION["sess_tunnus"].'</td></tr> <tr><td width=200>E-mail:</td><td align="left"><input type="text" name="mail" size="42" value="'.$mail.'"></td></tr> <tr><td width=200> </td><td><input name="paivita" type="submit" value="Päivitä"></td></tr> </form></table> </body> </html>'; ?>
Mikä on pielessä?
SysRq868 kirjoitti:
Mikä on pielessä?
No johan se lukee noissa virheilmotuksissa: PHP:lla ei oo oikeuksia sörkkiä noita tiedostoja. Avainsana: chmod
Nah, otat vain renamen ja unlinkin pois, katso dozen topikki https://www.ohjelmointiputka.net/keskustelu/6339-tiedostossa-rivien-kääntely ja sieltä minun neljäs viesti. Siitä voit eristellä tiedon siitä, kuinka voit tehdä tuon ilman renamea ja unlinkkiä.
öhh... rename mitä ilmeisemmin on uudelleennimetys. Mutta mikä halvattu on unlink? Ja koodissa
<?php /* Tiedoston rivin siirto alas- tai ylöspäin */ $tiedosto = "joku.txt"; $data = file($tiedosto); $tiedot = array(); // käydään tiedot läpi ja haetaan indeksit foreach($data as $rivi) $tiedot[] = substr($rivi,0,strpos($rivi,"|")); $solu = $_GET['solu']; // järjestettävän rivin tunnistesolu $suunta = $_GET['suunta']; // rivin siirtosuunta // jos järjestettävä rivi löytyy tiedostosta if (in_array($solu, $tiedot) == TRUE) { $i = array_search($solu, $tiedot); // etsityn tunnisteen indeksi taulukossa // siirretään tunnisteen sisältävä rivi haluttuun suuntaan $suunta ? list($data[$i], $data[$i-1]) = array($data[$i-1], $data[$i]) : list($data[$i+1], $data[$i]) = array($data[$i], $data[$i+1]); // kirjoitetaan tulos tiedostoon $tt = fopen($tiedosto,"w+"); fwrite($tt,implode("",$data)); fclose($tt); } ?>
En löytänyt mitään korvaavaa, toisaalta hyvä ettiä, kun ei tiiä mitä ettii...
chmodilla on laitettu kaikki kaikille, niinkuin FunFonexin tunnuskin käy täällä Ohjelmointiputkassa... "kaikkea-kaikille-peeloportaali, käykää kaikki"... :(
Tai sitten katoin viidettä viestiä... Tai jotain. Päivittäinen Amerikan Pastilli -annos jäi väliin, mistä taas johtuu tänpäiväinen tyhmyyteni. Tarmon tukkutyyppien syytä, uudet pastillit 20. päivä.
SysRq868 kirjoitti:
Mutta mikä halvattu on unlink?
Noh, ajatellaan yhdessä:
tarkoitin lähinnä tätä:
fwrite($tt,implode("",$data));
Tuossa siis tiedostoon kirjoitetaan vain kerran eikä käytetä väliaikaistiedostoa (joilloin unlinkkiä ja renamea ei tarvita).
En kyllä ymmärtänyt, mutta miten tuo viritys toimii kahden kansion päässä: http://koti.mbnet.fi/funfonex/scriptemp/chngrows/ch2.php unlinkkiensä kanssa...
...muttei päähakemistossa http://koti.mbnet.fi/funfonex ?
Elikkä
<?php if (isset($_POST["paivita"])) { $tiedosto = "kayttajat.txt"; $tunnus = $_POST["tunnus"]; $mail = $_POST["mail"]; $pass = $_POST["pass"]; $data = file($tiedosto); $userit = array(); for ($i=0; $i<count($data); $i++) { $solu = explode("|", $data[$i]); $userit[$i] = $solu[0]; } if (in_array($tunnus, $userit) == TRUE) { $temp = "temp/".$tiedosto.".temp"; $temptiedosto = fopen($temp,"w+"); for ($i=0; $i<count($data); $i++) { $solu = explode("|", $data[$i]); $nykyrivi = $solu[0]."|".$solu[1]."|".$solu[2]."|\n"; $uusirivi = $tunnus."|".$mail."|".$pass."|\n"; if($solu[0] != $tunnus) fwrite($temptiedosto,$nykyrivi); else fwrite($temptiedosto, $uusirivi); } fclose($temptiedosto); unlink($tiedosto); rename($temp,$tiedosto); echo '<b>Tunnuksen tiedot päivitetty!</b>'; } else { echo '<b>Ei löydy tunnusta: <u>'.$tunnus.'</u>!</b>'; } } ?> <?php $tunnus = $_SESSION["sess_tunnus"]; $tiedosto = "kayttajat.txt"; $data = file($tiedosto); for ($i=0; $i<count($data); $i++) { $solu = explode("|", $data[$i]); if($solu[0] == $tunnus) { $tunnus = $solu[0]; $mail = $solu[1]; $pass = $solu[2]; } } echo '<table border="0" cellspacing="0" cellpadding="0" class=normal> <form action="omataset.php" method="post"> <input name="pass" type="hidden" value="'.$pass.'"> <input name="tunnus" type="hidden" value="'.$_SESSION["sess_tunnus"].'"> <tr><td width=200>Tunnus:</td><td width="306" align="left">'.$_SESSION["sess_tunnus"].'</td></tr> <tr><td width=200>E-mail:</td><td align="left"><input type="text" name="mail" size="42" value="'.$mail.'"></td></tr> <tr><td width=200> </td><td><input name="paivita" type="submit" value="Päivitä"></td></tr> </form></table> </body> </html>'; ?>
Mitkä rivit pitäis niinkuin muokata/poistaa/siirtää?
SysRq868 kirjoitti:
En kyllä ymmärtänyt, mutta miten tuo viritys toimii kahden kansion päässä: http://koti.mbnet.fi/funfonex/scriptemp/
chngrows/ch2.php unlinkkiensä kanssa...
...muttei päähakemistossa http://koti.mbnet.fi/funfonex ?
No koska siellä alihakemistossa PHP:llä on oikeus poistella noita tiedostoja, mutta päähakemistossa ei.
Ja minä tarkoitin lähinnä tätä RTFM:ää :)
Oletko paljonkin katsellut tuota koodia?
?> <?php
Näyttää varsin tehokkaalta. Ota ne renamet ja unlinkit pois, et tarvitse temp-tiedostoa, ellet välttämättä sitten halua. Käsittelet vain sitä yhtä taulukkoa, joka on muodostettu kayttajat.txt:stä ja kirjoitat lopputuloksen siihen samaan tiedostoon. Eikös tuolla voi vaihtaa tietoja vain jos vaihtaa tunnusta? Ajatuksen kanssa kun säädät tota sellaset 4h vaikka ni eiköhä se siitä.
RTFM = Right This Freaking Minute (polite form)
EDIT: Ja samat oikeudet on molemmissa. Mutta päähakemisto ei ole chmodattu, kun kotisivumuokkain ei sitä salli.
EDIT 2: No, kirjautuminen ei anna luoda sess_tunnus -sessionia, jossei salasana ole oikein. Pitäisi vaihtaa sess_tunnus -nimeä joksikin 8dfhg6sf6gh9szyh0r6hed9ay tai jotain. Vai mitä tarkoitit?
EDIT 3: heh, heh, onnistuihan se... nyt kaikille tunnukset FunFonexiin, ja heti leikkimään uudella käyttäjän muokkauksella! ;)
Heipä hei.. en ollut paikalla vastailemassa kommentteihin, mutta siis tuo mitä tein avuksi niin ei todellakaan ollu tarkoitettu ottaa käyttöön sellaisenaan, se oli vain ESIMERKKI mitä kuuluu itse soveltaa omaan tarkoitukseensa! Tottakai käyttäjän tietoja muokatessa itse tunnus laitetaan tulemaan vain vaikka echo tekstinä eikä missään muokattavassa editboxissa jne jne.. pah!
Aihe on jo aika vanha, joten et voi enää vastata siihen.