Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  php algajale märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
mine lehele eelmine  1, 2, 3  järgmine
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:  
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 29.08.2007 12:30:03 vasta tsitaadiga

kasutades paljast faili php jaoks ei tohi ära unustada, et faili kirjutamisel tuleb fail lukku panna, muidu võib suur jama juhtuda sellega, kui mitu klienti üritavad korraga kirjutada või üks kirjutab samal ajal kui teine loeb
fail lukku kirjutamise ajaks ning enne kirjutamist kontroll et ega lukus pole, kui on, siis sleep natukene ning uuele katsele
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
karlcrutch
HV kasutaja
karlcrutch

liitunud: 07.04.2006



Autoriseeritud ID-kaardiga
sõnum 29.08.2007 13:07:11 vasta tsitaadiga

Sain siis mingi asjakese valmis:
http://djset.planet.ee/Kaarel/guestbook/raamat.php

Arvan, et algaja jaoks päris hea icon_biggrin.gif
Counteri tegin ka ylesse nurka.
Kommentaarid: 9 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum
AMD
HV veteran
AMD

liitunud: 29.07.2003




sõnum 29.08.2007 13:14:20 vasta tsitaadiga

Noh jah...
Keela html'i sisestamine ära.
Jutumärgid ja ülakomad tekitavad ka veel probleeme icon_smile.gif
Ja tühjad sissekanded on lubatud...

_________________
From now on, the forum is owned by AMD.That means that you are NO LONGER allowed to talk about, or even mention *ntel.
Kommentaarid: 335 loe/lisa Kasutajad arvavad:  :: 145 :: 3 :: 12
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
karlcrutch
HV kasutaja
karlcrutch

liitunud: 07.04.2006



Autoriseeritud ID-kaardiga
sõnum 29.08.2007 13:51:54 vasta tsitaadiga

Eks seal neid vigu leidub, ega ma seda php'd veel nii höästi ei oska ka.
Kommentaarid: 9 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum
AMD
HV veteran
AMD

liitunud: 29.07.2003




sõnum 29.08.2007 16:11:55 vasta tsitaadiga

stripslashes() ja htmlspecialchars()
_________________
From now on, the forum is owned by AMD.That means that you are NO LONGER allowed to talk about, or even mention *ntel.
Kommentaarid: 335 loe/lisa Kasutajad arvavad:  :: 145 :: 3 :: 12
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
karlcrutch
HV kasutaja
karlcrutch

liitunud: 07.04.2006



Autoriseeritud ID-kaardiga
sõnum 29.08.2007 16:46:10 vasta tsitaadiga

tänud htmlspecialchars() oli abi, nüüd enam html ei tööta seal.
Kommentaarid: 9 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 29.08.2007 17:41:27 vasta tsitaadiga

Midagi on sul teksti kastiga lahti, nime ja e-posti jätab meelde ja näitab postitustes, teksti all on tühjus. Ainult viimasel postil on seal nr. 1
Külastusi sa ikka salvestad ka kuhugi? Kui uuesti su lehele lähen, siis on jälle 1 külastus. Ning mingi kontroll tuleb teha, et lehte refresh ides ei lisaks kohe ka uut külastust.

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
karlcrutch
HV kasutaja
karlcrutch

liitunud: 07.04.2006



Autoriseeritud ID-kaardiga
sõnum 29.08.2007 20:05:55 vasta tsitaadiga

Prandasin vigu:
Ei saa enam sinna neid räigeid tekste kirbada, kus on yle 1000 märgi jne icon_biggrin.gif
Järgmisena võtan ette selle ,et ei saaks tyhjalt postitada.
Kommentaarid: 9 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum
morgoth
HV kasutaja
morgoth

liitunud: 14.01.2004




sõnum 29.08.2007 22:19:22 vasta tsitaadiga

Siis on abiks empty()
Kommentaarid: 11 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 10
tagasi üles
vaata kasutaja infot saada privaatsõnum
marx1
HV vaatleja
marx1

liitunud: 17.11.2006




sõnum 29.08.2007 22:42:27 vasta tsitaadiga

Kui juba selline teema käib, siis laduge oma parimad OOP tutorialid välja. palun icon_smile.gif
Kommentaarid: 6 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 5
tagasi üles
vaata kasutaja infot saada privaatsõnum
morgoth
HV kasutaja
morgoth

liitunud: 14.01.2004




sõnum 29.08.2007 22:52:41 vasta tsitaadiga

OOP tuleb ikka ajaga. Enne õpi ikka programmeerimise põhitõed selgeks, seejärel asu OOPI, patternide ning keerukate algoritmide juurde :p

muide väga hea php õpetus on aadressil: http://hudzilla.org/phpwiki/

Suht normaalne koht on ka Sitepoint'i foorum (seal 2 php teemat - 1 algajatele, teine advanced stuff).
Kommentaarid: 11 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 10
tagasi üles
vaata kasutaja infot saada privaatsõnum
AMD
HV veteran
AMD

liitunud: 29.07.2003




sõnum 29.08.2007 22:58:38 vasta tsitaadiga

morgoth, empty() ei ole kõige parem andmete kontrollija antud juhul.
_________________
From now on, the forum is owned by AMD.That means that you are NO LONGER allowed to talk about, or even mention *ntel.
Kommentaarid: 335 loe/lisa Kasutajad arvavad:  :: 145 :: 3 :: 12
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
jnt
HV Guru
jnt

liitunud: 10.05.2005



Autoriseeritud ID-kaardiga
sõnum 29.08.2007 22:59:01 vasta tsitaadiga

Kas ma eksin väga, kui ütlen, et OOP on rohkem progemis-stiil kuivõrd uus oskus vms? Et pmst kui OOP'd ei oska, on siiski oop kood loetav. (natuke faili uurida ja saab kohe aru, mida class teeb ja mis teema selle $muutuja->blabla'ga on) Ehk siis pmst, kui OOP'd ei oska, juu siis pole vaja läinud? Mulle küll selline mulje jäänd, aga noh, OOP'ga päris sina peal kah pole. icon_biggrin.gif
_________________
Progemisest: https://byteaether.github.io/
Seisab keldris vana 386-486-Pentium1? Räägime! Ehk saan vanakesele uue elu anda. icon_wink.gif
Kommentaarid: 116 loe/lisa Kasutajad arvavad:  :: 2 :: 0 :: 107
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
karlcrutch
HV kasutaja
karlcrutch

liitunud: 07.04.2006



Autoriseeritud ID-kaardiga
sõnum 29.08.2007 23:07:48 vasta tsitaadiga

Eks ma homme hakkan aretama seda ,et ei saaks tyhjalt postitada.
Kommentaarid: 9 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum
AMD
HV veteran
AMD

liitunud: 29.07.2003




sõnum 29.08.2007 23:32:05 vasta tsitaadiga

jnt, eks ta umbes sedasi ole jah.
_________________
From now on, the forum is owned by AMD.That means that you are NO LONGER allowed to talk about, or even mention *ntel.
Kommentaarid: 335 loe/lisa Kasutajad arvavad:  :: 145 :: 3 :: 12
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
maxorator
HV kasutaja

liitunud: 30.08.2006




sõnum 30.08.2007 11:53:32 vasta tsitaadiga

nene kirjutas:
maxorator kirjutas:
Dünaamiliste veebilehtede tegemiseks sobivad enamused Server-Side Scripting Language-d, millest levinuimad ongi PHP ja CGI.


Natuke tähenärimist vahele: CGI näol pole tegemist mitte mingi keelega vaid hoopis moodusega, kuidas programme jooksutada - ka PHP-d võib jooksutada CGI-režiimis.

Tagantjärele...
Ma mõtlesin tegelikult Perli, mida CGI kaudu jooksutatakse.

OOP võib olla küll veidi selgem aga kõike mida saab OOPs teha saab ka peaaegu sama lihtsalt ilma selleta teha (ma pole just esimene inimene, kes koodib edukalt C keeles). Aga OOP põhitõed tuleb kindlasti selgeks õppida, selles pole küsimustki. icon_smile.gif

MySQL võib alguses natuke segane tunduda aga küll sa hakkama saad. icon_wink.gif
Kommentaarid: 2 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 2
tagasi üles
vaata kasutaja infot saada privaatsõnum
karlcrutch
HV kasutaja
karlcrutch

liitunud: 07.04.2006



Autoriseeritud ID-kaardiga
sõnum 30.08.2007 12:29:52 vasta tsitaadiga

Guestbook on siis minuarust valmis. Nüüd mõtlesin,et võiks teha albumi, kus oleks nii, et formi abil saab uppida faili yhte kausta ja siis see fail ilmub albumisse.
Nii palju olen valmis saanud, fail uppitakse sinna kausta, aga nüüd nagu juhe koos, mis moodi ma selle sinna albumi lehele saan?Proovisin include("see kaust/")aga see ei mõjunud.Mida ma kasutama peaks?
Kommentaarid: 9 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 30.08.2007 16:36:48 vasta tsitaadiga

include käsuga saab ainult teisi php faile sisse tõmmata
faili saad lehel näidata nii, et uurid järgi kausta sisu ja siis vastavalt kausta sisule väljastad lehele html koodi, mis näitaks seda pilti seal kaustas
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 30.08.2007 18:50:51 vasta tsitaadiga

$dir=opendir("./pildid");
$i=1;
while($asi=readdir($dir))
{
if($asi!="." && $asi!="..")
{$files[$i]=$asi;$i=$i+1;}
}
closedir($dir);

Sellega loed masiivi $files[]; kõik failid kaustast pildid. Edasi oskad ehk ise nende pildi nimede järgi kuva koostada.

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
karlcrutch
HV kasutaja
karlcrutch

liitunud: 07.04.2006



Autoriseeritud ID-kaardiga
sõnum 30.08.2007 20:11:12 vasta tsitaadiga

Jätan selle albumi tegemise pooleli, Oskusi vähe veel.
ja see script, mis andsid, ma ei saa sellest yldse aru.
Nii plaju saan aru ,et:
$dir=opendir("./pildid"); <---- avab kausta
$i=1 ???????
while ($asi=readdir($dir)) <----hakkab kasuta lugema.
{$files[$i]=$asi;$i=$i+1;} <------??????
}
closedir($dir); <----- paneb kausta kinni.
Kommentaarid: 9 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum
DoS
HV veteran
DoS

liitunud: 19.08.2002




sõnum 30.08.2007 20:24:45 vasta tsitaadiga

nii ei tohi antud juhul while tsükli tingimust kirjutada ja $i'd ei ole üldse vaja kasutada
php:
  1.  
  2. $dir = opendir('kaust/kus/failid/on'); //avab kausta
  3. while (false !== ($file = readdir($dir))) //while tsükkel, täpsemalt vaata kusagilt õpetusest while, for, do while ja foreach tsüklitest
  4. {
  5.     if ($file != "." && $file != "..") //kui faili nimi ei ole . ega .. (ehk siis praegune kaust ja selle alamkaust)
  6.     {
  7.         $files[] = $file; //siis lisatakse see massiivi
  8.     }
  9. }
  10. closedir($dir);
  11.  
  12. /*
  13. tulemus on see, et näiteks:
  14. $files[0] = pilt1.jpg
  15. $files[1] = pilt122.jpg
  16. $files[2] = reidilaks.jpg
  17. $files[3] = mingitekst.txt
  18. ...
  19. */
  20.  
Kommentaarid: 50 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 47
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 30.08.2007 22:28:17 vasta tsitaadiga

Aga see jupp töötab, miks ei tohi nii kirjutada?
_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 30.08.2007 23:12:14 vasta tsitaadiga

andrusny kirjutas:
Aga see jupp töötab, miks ei tohi nii kirjutada?
erroreid ja noticeid taguv kood ei ole hea kood
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
DoS
HV veteran
DoS

liitunud: 19.08.2002




sõnum 30.08.2007 23:17:57 vasta tsitaadiga

andrusny kirjutas:
Aga see jupp töötab, miks ei tohi nii kirjutada?

töötab küll, aga ainult teatud tingimustel

täpsemalt loe http://ee.php.net/readdir
Kommentaarid: 50 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 47
tagasi üles
vaata kasutaja infot saada privaatsõnum
nene
Kreisi kasutaja
nene

liitunud: 20.03.2004




sõnum 02.09.2007 15:45:23 vasta tsitaadiga

karlcrutch kirjutas:
Ei saa enam sinna neid räigeid tekste kirbada, kus on yle 1000 märgi jne icon_biggrin.gif


Noh 1000 märki tundub ehk esmapilgul mõistlik piirang, aga hetkel on sul seal hoopis nii, et nimi: 10 märki, e-post: 20 märki, tekst: vaid 100 märki.

Võiks siiski natukene mõelda ka selle peale kui pikad ühed või teised asjad reaalses maailmas siiski on. Näiteks minu ees- ja perekonnanimi küll 10 märgi sisse ei mahu, mõnel ei mahu sinna ka eesnimi. Sama lugu e-posti aadressiga. 50 märki nime ja 100 e-posti jaoks on reeglina mõstlik piirang.

Tekstiga on see, et kui sul on <textarea rows="20" cols="10">, siis sinna mahub juba kenasti 20 x 10 = 200 märki teksti - kuid lubatud on sul vaid 100 (pool tekstikasti enda suurusest). Minu seesama postitus siin foorumis on juba 1103 märki pikk. Kõige lühem lõik on 149 märki.

Kas minu postitus on nüüd tõesti nii ülemäära jaburalt pikk, et seda ei tohiks lubada? Ilmselt siiski mitte. 100 korda nii pikk postitus oleks vast juba liiga pikk, aga 10 korda nii pikk... sugugi mitte mõeldamatu, kui ma näiteks postitan mingi posu lähtekoodi vms.
Kommentaarid: 24 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 23
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
karlcrutch
HV kasutaja
karlcrutch

liitunud: 07.04.2006



Autoriseeritud ID-kaardiga
sõnum 02.09.2007 16:18:49 vasta tsitaadiga

Ma tean ,et neid on nats vähe,parandan millagi ära.
Kommentaarid: 9 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 02.09.2007 16:47:25 vasta tsitaadiga

ma eeldan et sul on siis php poole pealt samuti ära piiratud märkide kogus ?
kui ei, siis saab ikkagist sassi pommitada su lehe icon_smile.gif
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
karlcrutch
HV kasutaja
karlcrutch

liitunud: 07.04.2006



Autoriseeritud ID-kaardiga
sõnum 14.09.2007 21:25:11 vasta tsitaadiga

Äkki keegi oskab aidata, mis moodi ma need pildid lehele kuvama saan, kui nad on sinna massivi ära topitud.
Praegu olen abiga nii plaju valmis saanud:
$kaust="failid/";
$ava=opendir($kaust);
while ($lisa=readdir($ava)){
if ($file="." && $file="..") {
$files[]=$lisa;
}
}
closedir($ava);
Kommentaarid: 9 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 14.09.2007 21:38:03 vasta tsitaadiga

karlcrutch kirjutas:

Äkki keegi oskab aidata, mis moodi ma need pildid lehele kuvama saan, kui nad on sinna massivi ära topitud.
Praegu olen abiga nii plaju valmis saanud:
php:
  1.  
  2. $kaust="failid/";
  3. $ava=opendir($kaust);
  4. while ($lisa=readdir($ava)){
  5.     if ($file="." && $file="..") {
  6.             $files[]=$lisa;
  7.     }
  8. }
  9. closedir($ava);
  10.  


hetkel teeb ta sul kontrolli nii:
if ($file="." && $file="..")
kui: määrame $file väärtuseks "." JA määrame $file väärtuseks "..", siis
peaks aga olema: kui: $file väärtus ei ole "." või $file väärtus ei ole "..", siis
nüüd aga on probleem kuna sul ei ole üldse $file varem deklareeritud, mistõttu ei saa ta selle väärtust üldse kontrollidagi
ehk siis: $file peaks asendama $lisa'ga

php:
  1.  
  2. $kaust="failid/";
  3. $ava=opendir($kaust);
  4.  
  5. while ($lisa=readdir($ava)){
  6.     if ($lisa != "." || $lisa != "..") {
  7.         $files[]=$lisa;
  8.     }
  9. }
  10. closedir($ava);
  11.  
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
jnt
HV Guru
jnt

liitunud: 10.05.2005



Autoriseeritud ID-kaardiga
sõnum 14.09.2007 22:48:44 vasta tsitaadiga

jup...

= on omistamine
== on võrdlemine

et pmst selliselt käib muidu asi... (noh "ei ole võrdne" on !=. Hüüumärk keerab võrdluse pmst tagurpidi. pmst võis vist kirjutada ka !==)

_________________
Progemisest: https://byteaether.github.io/
Seisab keldris vana 386-486-Pentium1? Räägime! Ehk saan vanakesele uue elu anda. icon_wink.gif
Kommentaarid: 116 loe/lisa Kasutajad arvavad:  :: 2 :: 0 :: 107
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
DoS
HV veteran
DoS

liitunud: 19.08.2002




sõnum 14.09.2007 22:58:06 vasta tsitaadiga

mikk36 kirjutas:
kui: määrame $file väärtuseks "." JA määrame $file väärtuseks "..", siis
peaks aga olema: kui: $file väärtus ei ole "." või $file väärtus ei ole "..", siis

icon_rolleyes.gif
Sellisel kujul pole sellest if-lausest mingit kasu.
Kui faili nimi ei ole "." ega "..", siis lisatakse see massiivi.
Kui faili nimi on ".", siis ($file != ".") on false ja ($file != "..") on true ja false || true = true, ehk siis lisatakse massiivi.
Kui faili nimi on "..", siis ($file != ".") on true ja ($file != "..") on false ja true || false = true ja jälle lisatakse massiivi.
Välja ei filtreerita midagi.
Õige on ikkagi (($file != ".") && ($file != ".."))
Kommentaarid: 50 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 47
tagasi üles
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 15.09.2007 14:05:11 vasta tsitaadiga

DoS kirjutas:
mikk36 kirjutas:
kui: määrame $file väärtuseks "." JA määrame $file väärtuseks "..", siis
peaks aga olema: kui: $file väärtus ei ole "." või $file väärtus ei ole "..", siis

icon_rolleyes.gif
Sellisel kujul pole sellest if-lausest mingit kasu.
Kui faili nimi ei ole "." ega "..", siis lisatakse see massiivi.
Kui faili nimi on ".", siis ($file != ".") on false ja ($file != "..") on true ja false || true = true, ehk siis lisatakse massiivi.
Kui faili nimi on "..", siis ($file != ".") on true ja ($file != "..") on false ja true || false = true ja jälle lisatakse massiivi.
Välja ei filtreerita midagi.
Õige on ikkagi (($file != ".") && ($file != ".."))
yayy damn
selle || asemel peaks jah olema &&
tänud icon_smile.gif

eks õhtul oli pea väheke väsinud juba
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
karlcrutch
HV kasutaja
karlcrutch

liitunud: 07.04.2006



Autoriseeritud ID-kaardiga
sõnum 15.09.2007 17:42:33 vasta tsitaadiga

ok ja mis moodi ma need kuvama saan lehel?
Kommentaarid: 9 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 15.09.2007 19:07:20 vasta tsitaadiga

Pead sealt masiivist $files[] need aadressid IMG tagide vahele echo´' ma.
echo '<img src="failid/'.$files[0].'" height="" width="">';
Se arv asenda muutujaga ja kord nii mitu korda, kui palju sul pilte kaustas on. Muidugi võid pildid välja lasta juba kaustalugemise käigus ja kui rohkem neid kuvada vaja pole, võid ka selle masiivi tegemata jätta. (ära unusta kausta teed ette kirjutamast, kui failid samas kaustas ei asu)


$kaust="failid/";
$ava=opendir($kaust);

while ($lisa=readdir($ava)){
    if ($lisa != "." || $lisa != "..") {
   echo '<img src="failid/'.$lisa.'" height="" width="">';   

    }
}
closedir($ava);

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
karlcrutch
HV kasutaja
karlcrutch

liitunud: 07.04.2006



Autoriseeritud ID-kaardiga
sõnum 16.09.2007 10:45:14 vasta tsitaadiga

Ma ei saa ikka pihta :S
Kood on selline:
$kaust="failid/";
$ava=opendir($kaust);
while ($lisa=readdir($ava)){
if ($lisa !="." || $lisa !="..") {
$files[]=$lisa;
echo '<img src="failid/'.$files[0].'" height="100" width="200">';
}
}
closedir($ava);

Kaustas failid on fail nimega piko.jpg, aga ta ikka ei näita seda seal lehel.
Kommentaarid: 9 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 16.09.2007 11:13:20 vasta tsitaadiga

$kaust="failid/";
$ava=opendir($kaust);

while ($lisa=readdir($ava)){
    if ($lisa != "." && $lisa != "..") {
   echo '<img src="failid/'.$lisa.'" height="" width="">';   

    }
}
closedir($ava);

Sa tegid ju selle koodi ümber, mis ma andsin, muide ennem ei pannud tähele, seal if lauses peab ikkagi && olema.
Kui soovid kasutada massiivist faili võtmist, nagu sa tegid, pead massiivi elemendi numbri asemele panema muutuja. Hetkel sul annab ainult esimese elemendi massiivist ja kuna sul oli if lause vale, sattus selleks kaust, muida ta otse loomulikult ei olnud võimeline pildiks kuvama.
Kui soovid massiivi kasutada võiks midagi sellist olla:

$kaust="failid/";
$ava=opendir($kaust);
$i=0;
while ($lisa=readdir($ava)){
    if ($lisa != "." && $lisa != "..") {
   $files[]=$lisa;
   echo '<img src="failid/'.$files[$i].'" height="100" width="200">';   
    $i=$i+1;
    }
}
closedir($ava);

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
karlcrutch
HV kasutaja
karlcrutch

liitunud: 07.04.2006



Autoriseeritud ID-kaardiga
sõnum 21.09.2007 18:15:27 vasta tsitaadiga

Mõtlesin, et aretan seda guestbooki edasi ja teeksin selle logimissysteemi.Äkki oskate öelda, mis moodi oleks seda kergem teha algajal , kas mysqliga või siis mingi text failiga aretamine??
Kommentaarid: 9 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 21.09.2007 18:51:42 vasta tsitaadiga

Kui sa pole ennem MySQL kasutanud ja oled loogilise mõtlemises kõva, siis on lihtsam teha txt failiga, kuna seal on sul kõik peopeal, ise mõtled seosed välja ja teed, kuid MySQL on tunduvalt lihtsam ja turvalisem, ainult tuleb paar põhi asja omale selgeks teha.
1.Andmebaasi tegemine
2.Tabelite tegemine
3Andmebaasi sisse logimine.
4.Päringute tegemine
5.Tabelitesse andmete sisestamine ja nende muutmine.

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
karlcrutch
HV kasutaja
karlcrutch

liitunud: 07.04.2006



Autoriseeritud ID-kaardiga
sõnum 22.09.2007 23:16:42 vasta tsitaadiga

Äkki keegi oskab öelda, mis ma valesti teen.Kood siis selline:
<?php
echo "<form action='logi.php' method='POST'>
<b>Kasutaja: </b><input type='text' name='kasutaja'/><br />
<b>Parool: </b><input type='password' name='password'/><br />
<input type='submit' value='Registreeru'/>
</form>";
if ($_POST["kasutaja"]!="" && $_POST["parool"]!=="") {
$yhendus=mysql_connect("localhost","root","");
mysql_select_db("proov");
$tulemus=mysql_query("tabel");
$kasutaja=$_POST["kasutaja"];
$parool=$_POST["password"];
mysql_query("INSERT INTO kasutajad(kasutaja,parool) VALUES('$kasutaja','$parool');");
echo "Oled Registreerunud";

}
?>

Tegin phpmainadminis databaasi nimega proov ja sinna sisse tegin tabeli nimega kasutaja ja siis tegin mingi fieldid sinna kasutaja,parool, aga kui seda yelmist koodi kasutada ja vajutada registreerumis nuppu siis ta millegi pärast ei lisa databaasi midagi.
Ma olen midagi väga valesti teinud või lihtsalt valesti aru saanud asjast.


Lahendasin ära.
Kommentaarid: 9 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 22.09.2007 23:21:19 vasta tsitaadiga

Kas see kood on sul kõik ühes failis? Failis logi.php ?
Märki != kirjutatakse ühekordse võrdus märgiga sul on && $_POST["parool"]!=="")
päring on valesti peaks olema selliselt:

"INSERT INTO kasutajad ( id , kasutaja , parool) VALUES ( NULL , '".$kasutaja."' , '".$parool."')"

rida
$tulemus=mysql_query("tabel");
on praegusel juhul ülearune. Seda kasutatakse andmebaasi päringus ja päringu jaoks on sul sealt osa puudu. Sisestamisel seda vaja pole.
Lõppu oleks viisakas kirjutada
mysql_close();

Lõpp kokkuvõttes võiks asi midagi sellist välja näha.

echo "<form action='logi.php' method='POST'>
<b>Kasutaja: </b><input type='text' name='kasutaja'/><br />
<b>Parool: </b><input type='password' name='password'/><br />
<input type='submit' value='Registreeru'/>
</form>";
if ($_POST["kasutaja"]!="" && $_POST["parool"]!="") {
$yhendus=mysql_connect("localhost","root","");
$yhendus = mysql_connect("localhost","root","")
or die('Ühenduse loomine ebaõnnestus : ' . mysql_error());
mysql_select_db("proov")
or die('Andmebaasi määramine ebaõnnestus : ' . mysql_error());

$kasutaja=$_POST["kasutaja"];
$parool=$_POST["password"];

$sql="INSERT INTO kasutajad ( id , kasutaja , parool) VALUES ( NULL , '".$kasutaja."' , '".$parool."')" ;
$result = mysql_query($sql);
      if ( $result )
      {
      print("<b><font color=\"#cc3300\">Andmed on lisatud.</font></b>");
      }
      else
      {
      printf("Kirje lisamine tabelisse  ebaõnnestus ", mysql_error());
      }
mysql_close();
}

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
DoS
HV veteran
DoS

liitunud: 19.08.2002




sõnum 23.09.2007 00:37:18 vasta tsitaadiga

Tegelikult töötab see karlcrutch'i variant ka, kui tabeli nimi õige on (kirjutasid, et tegid tabeli "kasutaja", aga koodis kirjutab tabelisse "kasutajad")
Ja andrusny, !== on ka õige võrdlus, natuke rangem kui !=, st. kontrollib, et võrreldavad asjad ei oleks erinevat tüüpi ka http://ee.php.net/manual/en/language.operators.comparison.php
id lahter ei ole seal tabelis esialgu vajalik, aga edaspidises mõttes võib kasuks tulla. Kasutaja lisamisel ei ole seda vaja päringusse kirjutada, kui tegu on auto-increment arvuga.
Kommentaarid: 50 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 47
tagasi üles
vaata kasutaja infot saada privaatsõnum
karlcrutch
HV kasutaja
karlcrutch

liitunud: 07.04.2006



Autoriseeritud ID-kaardiga
sõnum 23.09.2007 11:24:03 vasta tsitaadiga

MA sain selle enda koodi jupi ka tööle, aga tänud ikkagi.
-----------------------------------------------------------------
Kuidas ma saan kontrollida ,et väljad täidetud on?
Ise aretasin midagi sellist, aga see ei taha töötada

$tyhi=$_POST["kasutaja"];$_POST["parool"];
if (empty($tyhi)) {
echo "Täida väljad!";
Kommentaarid: 9 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum
AMD
HV veteran
AMD

liitunud: 29.07.2003




sõnum 23.09.2007 11:40:28 vasta tsitaadiga

strlen()
_________________
From now on, the forum is owned by AMD.That means that you are NO LONGER allowed to talk about, or even mention *ntel.
Kommentaarid: 335 loe/lisa Kasutajad arvavad:  :: 145 :: 3 :: 12
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
karlcrutch
HV kasutaja
karlcrutch

liitunud: 07.04.2006



Autoriseeritud ID-kaardiga
sõnum 24.09.2007 19:47:52 vasta tsitaadiga

mis moodi ma seda strleni kasutan?
kood on selline ja oleks vaja siis,et ta ei regaks ära, kui väljad pole täidetud.
<?php
echo "<form action='rega.php' method='POST'>
<b>Kasutaja: </b><input type='text' name='kasutaja'/><br />
<b>Parool: </b> <input type='password'name='parool'/><br />
<input type='submit' value='Registreeru'/>";
if ($_POST["kasutaja"]!="" && $_POST["parool"]!="") {
include("dp.php");
$kasutaja=$_POST["kasutaja"];
$parool=$_POST["parool"];
//Kui väli on tyhi
if (strlen ($_POST["kasutaja"] && $_POST["parool"])<1) {
echo "Täida väljad";
}


else {
//Äkki on olemas
$olemas=mysql_query("SELECT * FROM kasutajad WHERE kasutaja='$kasutaja'");
while($q=mysql_fetch_array($olemas)){
$mysql_user=$q["kasutaja"];
}
if ($kasutaja==$mysql_user) {
echo "<br />Selline kasutaja on juba olemas!";
}
else{
//Kui ei ole siis
mysql_query("INSERT INTO kasutajad(ksutaja,parool) VALUES('$kasutaja','$parool');");
echo "<br />Oled Registreerunud";
echo "<br />Mine logi sisse <a href=logi.php>vajuta siia.";
}
}
}




?>
Kommentaarid: 9 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 24.09.2007 19:56:34 vasta tsitaadiga

if ( trim($_POST["kasutaja"])!="" && trim($_POST["parool"])!="")

Kas see ei aita siis sul, tegelikult peaks ju ka sellest aitama, kui üks neist väljadest on tühi, siis ei tohiks asi sellest ifist ju edasi minna. Pane kogu salvestus selle ifi sisse.

if (trim($_POST["kasutaja"])!="" && trim($_POST["parool"])!="") {
// Eeldusel, et sul seal dp.php on andmebaasi avamine
include("dp.php");

$kasutaja=$_POST["kasutaja"];
$parool=$_POST["parool"];




//Äkki on olemas
$olemas=mysql_query("SELECT * FROM kasutajad");
while($q=mysql_fetch_array($olemas)){
$mysql_user=$q["kasutaja"];$parol=$q["parool"];
}

if ($kasutaja==$mysql_user || $parol==$parool) {
echo "<br />Selline kasutaja või parool on juba olemas!";
$stop=1;
}


if ($stop!=1){
//Kui ei ole siis
mysql_query("INSERT INTO kasutajad(ksutaja,parool) VALUES('$kasutaja','$parool');");
echo "<br />Oled Registreerunud";
echo "<br />Mine logi sisse <a href=logi.php>vajuta siia.";
}
}

_________________


viimati muutis andrusny 24.09.2007 20:15:28, muudetud 4 korda
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
jnt
HV Guru
jnt

liitunud: 10.05.2005



Autoriseeritud ID-kaardiga
sõnum 24.09.2007 20:07:42 vasta tsitaadiga

võiks panna trim($_POST['kasutaja'])!="" muidu saab ühe tühiku ka kasutajaks panna... icon_razz.gif (sama ka siis parooliga)
_________________
Progemisest: https://byteaether.github.io/
Seisab keldris vana 386-486-Pentium1? Räägime! Ehk saan vanakesele uue elu anda. icon_wink.gif
Kommentaarid: 116 loe/lisa Kasutajad arvavad:  :: 2 :: 0 :: 107
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
karlcrutch
HV kasutaja
karlcrutch

liitunud: 07.04.2006



Autoriseeritud ID-kaardiga
sõnum 24.09.2007 22:08:06 vasta tsitaadiga

tänu, aga äkki oskab keegi anda mõnde lehte, kus on õpetus, kuidas logimist teha?
Kommentaarid: 9 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum
jnt
HV Guru
jnt

liitunud: 10.05.2005



Autoriseeritud ID-kaardiga
sõnum 24.09.2007 23:44:09 vasta tsitaadiga

andrusny, praegu õhtu ja võib-olla ajan jama, aga miks sul nii keeruliseks kasutaja nime kontroll tehtud on? Kas ei võiks lihtsalt otse päringu teha antud kasutajale ja vaadata, kas vastus tuleb või ei tule?
_________________
Progemisest: https://byteaether.github.io/
Seisab keldris vana 386-486-Pentium1? Räägime! Ehk saan vanakesele uue elu anda. icon_wink.gif
Kommentaarid: 116 loe/lisa Kasutajad arvavad:  :: 2 :: 0 :: 107
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 25.09.2007 14:00:16 vasta tsitaadiga

andrusny kirjutas:
php:
  1. //Äkki on olemas
  2. $olemas=mysql_query("SELECT * FROM kasutajad");
  3. while($q=mysql_fetch_array($olemas)){
  4. $mysql_user=$q["kasutaja"];$parol=$q["parool"];
  5. }
  6.  
  7. if ($kasutaja==$mysql_user || $parol==$parool) {
  8. echo "<br />Selline kasutaja või parool on juba olemas!";
  9. $stop=1;
  10. }
kirjutad iga kord $mysql_user ja $parol väärtuse üle, seega saad vaid viimase tulemuse rea nendesse
samuti pole vaja vaid kasutaja ja parooli kontrollimiseks tõmmata kogu tabelit sisse

lisaks: $stop ei ole sul eelnevalt iga kord defineeritud, kui kontrollid selle väärtust, tekitab notice
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
Urmet
HV vaatleja

liitunud: 29.07.2005



Autoriseeritud ID-kaardiga
sõnum 25.09.2007 17:05:05 vasta tsitaadiga

pealegi kasutusel olevate paroolide välja reklaamimine haiseb turvaaugu järele. niikaua kui kasutajanimed erinevad on, pole samade paroolide kasutamine mingi probleem
Kommentaarid: 10 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 10
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  php algajale mine lehele eelmine  1, 2, 3  järgmine
[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.