Amugy egy hiba van még a közepe táján is.
$mar_szavazott == "1"; itt elég lenne a egy = is.
Mert nem vizsgálsz hanem egyenlővé teszel.
(Ahogy a crockl is mondta)
Amugy kiprpbáltam nálam megy ezzel a javitással, és meghivja a result.php ha van már olyan ip, ha nincs akkor pedig beleteszi.
Szoval lehet, hogy a result.php-val van gond.
Najo, annyit irtal hogy: " if ( "$sor" == "$bejovo_ip" ) "->itt sose lesz igaz szertinted.
Probaltad mar hogy: else { print "sor=".$sor."=".$bejovo_ip."=ip[br]\n"; } ?
Amugy a settype teljesen felesleges most, amugy sem === -et vizsgalsz. Akkor lenne ertelme.
Ha sikerult debugolnod ezzel az else aggal, akkor szolj. Amugy a $mar_szavazott = "1"; utan irhatnal 1 break; -et is, minek fusson tovabb az a ciklus ha megtalaltad.
tevedes, nem irtad le mi a hiba. Azt irtad nem megy. Az sok mindentol lehet, foleg hogy nem tudni neked ez mit jelent, mit varnal tole, es mi nem lesz belole. Peldaul lehet azert nem megy mert nincs is szerveren php? ;)) Szal erted. Probald meg leirni mi nem megy, mi a hibauzenet, mi tortenik es mi kellene szerinted tortenjen.
Nem? Akkor jó, biztosan én értettem félre. :-)
Eljutott hozzám amit mondtál, igen, elrontottam, és igen, olvastam a manualt. Kijavítottam mint azt írtam is. Ami viszont hozzád nem jutott el az az, hogy még mindig nem működik. Tehát (már) nem itt van a hiba, viszont továbbra sincs lövésem hogy mitől nem műk.
nemtudom mirol beszelsz mar ami a szemelyesedeseket illeti, semmi hasonlot nem tettem, nem erzek se.
A hibadra is irtam a megoldast, es tobbek kozott megemlitettem hogy ha elolvasnad a php manual legelejet ahol a = jelet es az == jelet taglaljak sokkal jobban jarnal
Tehat amit leirtam csak hozzad nem jutott el:
$mar_szavazott = "1"; => helyes
$mar_szavazott == "1"; => helytelen
if($mar_szavazott == "1") => helyes, de ezt te is igy irtad, csak ideirtam hogy feltetel vizsgalatnal van == es === ertek adasnal = van.
crockl, nem tudom mit ártottam Neked hogy folyamatosan könyveket meg tanulást emlegetsz, másoknak meg szó nélkül segítesz, ugyanilyen egyszerűségű kérdéseknél... Idegesítenek a kérdéseim? Vagy?
Nézem a kódot és azt látom hogy mindehol == jelet és idézőjeleket használtam, azért, mert már mindenfélét próbáltam és éppen ebben az állapotban untam meg és írtam be ide. Ez tényleg nem jó, kijavítottam, a hiba ettől függetlenül nem itt van.
Így kezdődik a file (tehát a html tag előtt van a kód). Ha vki már szavazott, akkor automatikusan átirányítja a result.php-ra, ha még nem, akkor beírja az IP címét az "ip.db" file-ba.
A hiba vszeg if ( "$sor" == "$bejovo_ip" ) feltételnél van, de nem tudok mit csinálni vele.
:))
megoldódott már megint, lehet hogy tényleg túl usta vagyok.
nos. a xitami webserver írta ki ezt itt nálam a localhoston, amikor próbáltam a phpszkriptet.
aranyos ötletem támadt, megirom, hogy egyszerre csak 1000 tételt tölt fel, majd a html bodyval meghívom saját magát eg yodlalszámmal és betöltöm a kevetkező ezret stb...
de azért csak kipróbáltam, s a linuxos lasvegas.hu szerverén csonk nélkül le ment
ill le ment volna...
csak maximálva van a tárhelyem a mysqlben is, ugyhogy... kb 300ezer cég fért fel csak. :)
s ugye amig nem pénzkeresésre megy, addig nem invesztálunk bele többet.
most a gondod a hianyzo } miatt van :) amugy a file fgv 1 sort olvas be es nem tori el a sort, de ha tul nagy a file-od amit be akarnal olvasni akkor nem igazan jo a file fgvt hasznalni, max 100k-ig mert egyreszt sokat lefoglal memoriaba a keletkezett tomb, es lassabb is, mintha fopen, fgets es kozbe egybol irod is file-ba bele, igy valahogy:
$fp=fopen("http://host/lala.txt","r");
if($fp)
{
$fp2 = fopen("toload.txt","w+");
while(!feof($fp))
{
fwrite($fp2,trim(fgets($fp,4096)));
}
fclose($fp2);
fclose($fp);
}
mysql_query("load .... /path/a/szervere/ahova/a/file/kerult ...");
ha ugyan oda csinaltad file-t ahol a php is volt, es mondjuk volt is jogod oda irni:) akkor a dirname($_SERVER["SCRIPT_FILENAME"]); -val visszakapod az adott konyvarat
lehet egy kérdéssel több?
ha kb 55ezer rekord felírása után (54859) a szkript futása leáll és a böngészőben ez jelenik meg: "This server is currently overloaded - please try again later " akkor ez szerver beállítási probléma, vagy lehetne még valamilyen set_tel rávenni, hogy várjon még?
Esetleg megprobalnam ugy, hogy nem a file() függvennyel nyitom meg (tehat nem arraybe teszem), hanem 1xüen megnyitom fopen()-nel, es a sorokat egyenkent atirom egy lokalis file-ba. Akkor a sortöres sem jelenthet gondot.
Üdv :
reset
Ui : Raadasul asszem volt valami problemaja a file() függvenynek a txt-fileokban levö, több szoközzel elvalasztott szavak eseten. Mintha ködösen remlene.... ugyhogy inkabb probalnam mashogy.
:)
oltári egyszerű, s mégsem jutott volna az eszembe, azt hiszem ráizgatom a reget deluxot, mert sajnos a szerveren nincs se ssh, se telnet számomra, s így azt hiszem eleve ki van lőve a cron, de ezt majd még a rendeszergazdival megbeszélem.
a filet letölti, beirja 1 txt-be, és onnan pakolássza bele a táblába az adatokat...
már csak 1etlen gondom van: túl hosszúak a sorok a txt-ben, igy az automatikus sorörést alkalmaz és máris szétestek az adataim, és olyan hibát csinál nekem, hogy addig megcsinálja jól, mig nincs sortörés, az utánna következő adatok helyett pedig egyszerüen fogjamagát és előről kezdi :-(((
ahhham :-((
hát ez biz gázos, mert akkor valahogy le kell töltenem a mysql-es gépre azt a bizonyos filet...brr....hát, akkor ezen még rágódok 1 kicsit, azért köszönöm a segitséget :-)
meg tudod oldani ha van jogod az adott szerveren ilyesmit csinalni:) Linux alatt peldaul a cron program segitsegevel tudsz idozitett dolgokat csinalni, programokat futtatni. Ha nincs ilyen hozzaferesed a szerverhez akkor sajnos marad az amit most is csinalsz:) Max otthon te ralallitasz 1 letoltes vezerlot hogy minden nap 8 orakkor kerje le az adott oldalt ezzel lefuttatva a programot :)
csak a szerveren talalhato file-t tudod load infile-al betolteni, tehat azon a szervreren kell legyen a file ahol a mysql is van (vagy legalabbis olyan filerendszer beli eleressel amit a mysql lat, lehet ugye az 1 mountolt cd rom is:) )
Tehat nem localhost meg ilyenek amugy sem, hanem filerendszer beli teljesel file elerest peldaul C:\konyvtart\ahol\a\file\van.file windows alatt, linux alatt pedig /a/konyvtar/ahol/a/file/van.file
nos, manual megnéz, és kitalál, kipróbál egy winyón lévő filen és műx :-) nade...
ha neten lévő filet szeretnék elérni (mert ott van amugy) az már nemmegy... :
LOAD DATA INFILE "http://localhost/tabla/test.txt" INTO TABLE test FIELDS TERMINATED BY ':' LINES TERMINATED BY '\n'
File 'http:\\localhost\tabla\test.txt' not found (Errcode: 22)
megprószáltam a LOCAL-al is, de semmi eredmény, csak nem hajlandó megtalálni......
mi a hiba? miért nem találja? miért csak winyón lévő filet lehet felhasználni? elvileg ugye a LOCAL pont erre volna...... nade nemműx....
az, hogy meglesz, azt megigérhetem, az olvasás is még ok, de hogy nem lustálkodni? hááát...
a lustaság viszi előre az emberiséget. :)
meg, ahogy olvasgattam a fórumot, s pont bitsütikről, meg fájlfeldolgozásról volt szó, már azért vettem a bátorságot, hogy akkor konkretizálom a lustaságom, s inkább kérdezek.
én a phpcoder.proban irkálgatok, s abban a beleintegrált helpfájlokban nem egyszerű keresni, ha nem tudom hogyan nevezik amit keresek... talán innen a lustaság. lehet hogy le kellene egy másik helpet szednem ? :)
lehet még egy másik kérdésem?
egy hírlevelet kell készítenem, minden nap.
a mindennaposságával van gondom,
én úgy csináltam, hogy a kezdőlap alján meghívok egy includot, amely megnézi egy táblában, hogy futott-e már aznap a szkript, s ha nem lefut, ha igen továbbmegy.
s ez működik is.
de, ha valaki nem nézi meg egy (2,3,4) nap a lapot, akkor nincs "akció" ami kiváltaná a szkript lefutását.
ki lehet ezt valahogy küszöbölni?
gondoltam már arra is, hogy egy lapot irok, ami újra meghívja önmagát, s ezt a serverne kellenen futtani, vagy ha a wgettel meg lehet hívni egy php-s oldalt pl. akkor elvileg lehet a serveren elinditani minden napra időzitve egy wget parancsot?
sajna nem vagyok képben ezügyben sem.
mondjuk a kedves emberkének megmagyaráztam, hogy nincs értelme kiadni hirlevelet, ha nem módosult, már pedig ha nem nyult hozzá sneki, akkor nem módosult.
igen :), csak nem elég hogy tudatlan vagyok meg windowsuser, még ehhez lusta is... :)
de a szükség nagy úr. a fájl már majdnem felment ftpileg, ha nem baj majd beszámolok az eredményről.
egy cégkeresést akarok megvalósítani, s ugye egy óvodás is meg tud csinálni, egy formot egy lekérdezést, de feltöltenis bedolgozni ekkora fájlt... nekem eddig nem ment.
remélem most
köszönöm,
még egy nagyon lamer kérdés:
ezeket a seteket a php fordítóba kell beállítani a php.ini ben, avagy futás közben a php programban is működőképesek?
feltoltod file-t ftp-vel, php-val feldolgozod akar cvs-t cvs fugvenyek (vagy sajat megoldas) akar a dbf-et a dbf fugvenyekkel,. Php-ba set_time_limit(0); hogy ne fusson ki a 30 masodpercbol, valamint vigyazz a memoriara azaz a nem kello valtozokat unset-eld es csak a szukseges dolgokat tartsd valtozoba, ugyis csak read->insert into kell neked.
lenne egy két problémám, amely talán lehet hogy elví síkon van, de mindenesetre nem tudom hogyan valósítsam meg jól.
ha tudnátok segíteni megköszönném.
Egy cégtörzset szeretnék létrehozni Mysqlben, az adatok jelenleg dbf, és csv formátumban megvannak
a phpmyadminnal be lehet elvileg dolgoztatni ilyen állományt, de ez 120 Mega.
mit lehet az ilyennel kezdeni? a kapcsolatom miatt nem megy le a feldolgozás, vagy ez azért már sok amit kívánok tőle?
Ti mit tennétek?
nincs igazán sok jó ötletem, csak elvetemültek:
1.a csv ";" határolóját "," re állítom, majd a fájlban minden sortörés helyett beillesztek egy ");\n insert into ..... values(" sztringet, s mint sql szkriptet fogom lefuttatni
2 a csvket szétszedem kis állományokra, s azt dolgoztatom fel vele,
vagy az egész megoldódna egy szélessávú internetkapcsolattal?
előre is köszönöm ha hozzászóltok.
hja és utólag is köszönném a wgetes php szinkronizáció meghívást, sose hittem volna, hogy egy unixutil csomag (win32re) fogja megoldani a problémám, :) köszönet érte, azért tanulok lassan.
Alex_
hja ha lehet még egy.:
erősítsetek meg, mert nem vagyok biztos benne, ha smsben szeretnék egy üzenetet küldeni, akkor ha jól tudom pl a pannonosnál "teleofnszám@pgsm.hu" emil cimre kell küldeni s majd a szolgáltató továbbitja azt?
s még egy:
én ugy tudom nem lehet, de mi van ha mégis, a cookie-t, amely nem időkorláttal jött létre, meg lehet valahogy szüntetni úgy hogy a böngészőt ne kelljen bezárni?
mert ha nem akkor át kell íarni session nel, s lusta vagyok :((
load infile "filenev" into table $TablaNev fields terminated by ':' lines terminated by '\n';
Csak arra kell ügyelni, hogy az adatallomanyban a mezök sorrendje megegyezzen a tablaban levö mezök sorrendjevel. Bar ha jol emlexem MySQL4 alatt mar meg lehet varialni a mezök sorrendjet it. (Nekem meg egy eleg regi 3.23 van)