Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
sõnum |
|
karlcrutch
HV kasutaja
liitunud: 07.04.2006
|
02.09.2007 16:18:49
|
|
|
Ma tean ,et neid on nats vähe,parandan millagi ära.
|
|
Kommentaarid: 9 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
8 |
|
tagasi üles |
|
|
mikk36
HV Guru
liitunud: 21.02.2004
|
02.09.2007 16:47:25
|
|
|
ma eeldan et sul on siis php poole pealt samuti ära piiratud märkide kogus ?
kui ei, siis saab ikkagist sassi pommitada su lehe
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
|
karlcrutch
HV kasutaja
liitunud: 07.04.2006
|
14.09.2007 21:25:11
|
|
|
Ä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 |
|
|
mikk36
HV Guru
liitunud: 21.02.2004
|
14.09.2007 21:38:03
|
|
|
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:
|
$kaust="failid/"; if ($file="." && $file="..") { $files[]=$lisa; } }
|
|
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:
|
$kaust="failid/"; if ($lisa != "." || $lisa != "..") { $files[]=$lisa; } }
|
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
|
jnt
HV Guru
liitunud: 10.05.2005
|
14.09.2007 22:48:44
|
|
|
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 !==)
_________________ Seisab keldris vana 386-486-Pentium1? Räägime! Ehk saan vanakesele uue elu anda.
Vaata siia, äkki müün midagi põnevat -> https://www.osta.ee/index.php?fuseaction=listing.seller&q[seller]=jnt |
|
Kommentaarid: 106 loe/lisa |
Kasutajad arvavad: |
|
:: |
2 :: |
0 :: |
99 |
|
tagasi üles |
|
|
DoS
HV veteran
liitunud: 19.08.2002
|
14.09.2007 22:58:06
|
|
|
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 |
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 |
|
|
mikk36
HV Guru
liitunud: 21.02.2004
|
15.09.2007 14:05:11
|
|
|
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 |
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
eks õhtul oli pea väheke väsinud juba
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
|
karlcrutch
HV kasutaja
liitunud: 07.04.2006
|
15.09.2007 17:42:33
|
|
|
ok ja mis moodi ma need kuvama saan lehel?
|
|
Kommentaarid: 9 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
8 |
|
tagasi üles |
|
|
andrusny
Kreisi kasutaja
liitunud: 20.03.2006
|
15.09.2007 19:07:20
|
|
|
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 |
|
|
karlcrutch
HV kasutaja
liitunud: 07.04.2006
|
16.09.2007 10:45:14
|
|
|
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 |
|
|
andrusny
Kreisi kasutaja
liitunud: 20.03.2006
|
16.09.2007 11:13:20
|
|
|
$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 |
|
|
karlcrutch
HV kasutaja
liitunud: 07.04.2006
|
21.09.2007 18:15:27
|
|
|
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 |
|
|
andrusny
Kreisi kasutaja
liitunud: 20.03.2006
|
21.09.2007 18:51:42
|
|
|
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 |
|
|
karlcrutch
HV kasutaja
liitunud: 07.04.2006
|
22.09.2007 23:16:42
|
|
|
Ä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 |
|
|
andrusny
Kreisi kasutaja
liitunud: 20.03.2006
|
22.09.2007 23:21:19
|
|
|
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
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 |
|
|
DoS
HV veteran
liitunud: 19.08.2002
|
23.09.2007 00:37:18
|
|
|
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 |
|
|
karlcrutch
HV kasutaja
liitunud: 07.04.2006
|
23.09.2007 11:24:03
|
|
|
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 |
|
|
AMD
HV veteran
liitunud: 29.07.2003
|
23.09.2007 11:40:28
|
|
|
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 |
|
|
karlcrutch
HV kasutaja
liitunud: 07.04.2006
|
24.09.2007 19:47:52
|
|
|
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 |
|
|
andrusny
Kreisi kasutaja
liitunud: 20.03.2006
|
24.09.2007 19:56:34
|
|
|
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 |
|
|
jnt
HV Guru
liitunud: 10.05.2005
|
|
Kommentaarid: 106 loe/lisa |
Kasutajad arvavad: |
|
:: |
2 :: |
0 :: |
99 |
|
tagasi üles |
|
|
karlcrutch
HV kasutaja
liitunud: 07.04.2006
|
24.09.2007 22:08:06
|
|
|
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 |
|
|
jnt
HV Guru
liitunud: 10.05.2005
|
24.09.2007 23:44:09
|
|
|
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?
_________________ Seisab keldris vana 386-486-Pentium1? Räägime! Ehk saan vanakesele uue elu anda.
Vaata siia, äkki müün midagi põnevat -> https://www.osta.ee/index.php?fuseaction=listing.seller&q[seller]=jnt |
|
Kommentaarid: 106 loe/lisa |
Kasutajad arvavad: |
|
:: |
2 :: |
0 :: |
99 |
|
tagasi üles |
|
|
mikk36
HV Guru
liitunud: 21.02.2004
|
25.09.2007 14:00:16
|
|
|
andrusny kirjutas: |
php:
|
//Äkki on 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; }
|
|
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 |
|
|
Urmet
HV vaatleja
liitunud: 29.07.2005
|
25.09.2007 17:05:05
|
|
|
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 |
|
|
|