Būna ypatingų aplinkybių :) Nemažai kodo tenka rašyti fiziškai neturint priėjimo prie testinės sistemos. Tai ir paklausiau. Daugiau nebeklausiu nebandęs.

Ar turi prasmės tokia užklausa:

 SELECT * FROM blog WHERE Posted LIKE '$entryday'%

kur entryday yra eilutė, pvz.: "2006-11-16", o procentą užmečiau, kad tiktų bet koks timestampo laikas?

Ačiū

Veikia WHERE, nes gaunu kitas dalis - ID ir datą (Posted). Ar gali būti, kad mano MySQL išjungtas koks nors LEFT palaikantis parametras?

Tas ir smagiausia, kad mysql_error() jokios klaidos neduoda, tiesiog vietoje Message gaunu tuščią eilutę (nors ji tikrai ne tuščia duombazėje ir puikiausiai pasiima be LEFT).

Neradau tokio dalyko vadovėlyje. Aš tai išimčiau į php kintamąjį, sudėčiau ir pamerkčiau į duombazę atgal.

6

(3 replies, posted in PHP)

Tai visa esmė dinamiško meta generavimo ir yra tame, kad metose, varde ir aprašyme atsidurtų tiksliai tie žodžiai, kurie panaudoti pačiame puslapyje :) Man tik buvo įdomu sužinoti, ar tai apsimoka daryti.

Na ir nepritrūksta gi man klausimų...

Man neveikia užklausa

 "SELECT QID, Posted, LEFT(Message,65) FROM qst WHERE CID=".$cid." ORDER BY Posted DESC"

Tiksliau viskas veikia puikiausiai be LEFT. O norėtųsi sutrumpinti išvedamą tekstuką iki protingo ženklų kiekio.
Pasitikrinau sintaksę MySQL svetainėje - atrodo viskas lyg ir ok. Net perrašiau kodą iš vadovėlio paženkliui -
vistiek neveikia. Kur bėda? MySQL versija 5.0.24.

aia

8

(2 replies, posted in PHP)

labai "žalias" klausimėlis:
su teksto redaktoriumi atsidarius vaizdo failą matyti pradžioje raidelės PNG, JFIF arba GIF89a ir panašiai. Ar galiu pasidaryti pigią ir piktą funkcijėlę, kuri paskaitytų keletą baitų iš failo pradžios ir taip atpažintų paveiksliukus bei atskirtų juos nuo kitų dalykų (pvz., "Windows" vykdomieji failai dažniausiai prasideda MZ)?
Ar yra kokia protingesnė sistema ar gatava PHP funkcija, kurios aš dar neradau?

Aha, radau:

 if($_SERVER['QUERY_STRING']>' '){echo '?'.$_SERVER['QUERY_STRING'];}

:)

Nemoku lietuviškai PHP terminų, bet problema tokia:
formos veiksmas - kreipimasis į tą patį puslapį, bet tas PHP_SELF nesaugo papildomų parametrų:
paleidžiant formą iš, tarkime, "puslapis.php?id=2" visi POST duomenys nukeliauja į "puslapis.php".
Kai kur galima įdėti sąlygą (jei nurodytas "id") ir prikabinti ją prie formos veiksmo, bet ne visur tai galiu padaryti, nes, tarkime, prisijungimo forma ("login") yra visuose svetainės puslapiuose (su įvairiais "id", "pid", "qid" ir pan. Ko aš nežinau? :)

Problemiško kodo pavyzdys: (neveikia, kai kreipiamasi iš "puslapis.php?id=2")

 echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">\n

Mano hack'as, kur įmanoma:

 echo "<form action=\"".$_SERVER['PHP_SELF']."?id=".$cid."\" method=\"POST\">\n

kur $cid yra esamo puslapio "priekaba".

Bet negi visur reikia taip daryt?

11

(1 replies, posted in Visa kita)

kodėl šio forumo laikrodis rodo dviem valandom daugiau nei mano laikrodis (aš šiaip Lietuvoje, jei ką)? :)

12

(3 replies, posted in PHP)

Nežinau, gal reikėjo dėti prie "visa kita", nors šiaip klausimas ir apie PHP. Jis toks:

Ar yra prasmė dinamiškai generuoti metažymų raktažodžius ("keywords") išorinėms paieškos sistemoms? Ar jie geba landžioti po, tarkime svetaine.com/psl.php?id=44 ar apsiriboja psl.php? Nes šiaip galima būtų parankioti labai tikslių ir specifinių kiekvieno tinklapio raktažodžių vietoje bendrybių, kurios šiaip dedamos pagrindiniuose.

Labai ačiū visiems. Padariau viską su UTF-8. Nežinojau, kas tie BOM, tai ir striginėjau. Dabar viskas gerai :)

Kuo toliau į mišką... :)

Su PHP Designer iš tikrųjų pavyko nutrinti tuos įžanginius žymėjimus, bet po to jau nė viena naršyklė neberodo lietuviškų raidžių (pačiame html), nors ir charset nurodytas utf8, ir naršyklėse koduotė (automatiškai) parenkama gerai... žodžiu gal aš pabandysiu duombazę į cp1257 paverst...

Labai ačiū už patarimus.

Taip ir padariau - t.y. visus tinklapius šiaip ne taip paverčiau į utf8. Na ir, žinoma pas mane dabar niekas nebeveikia. Iš pradžių galvojau, kad funkcijas užkliudžiau, bet pasirodo yra visai kitas dalykas - išsaugant bet kokį tekstą utf8 formatu, redaktoriai (UltraEdit ir tas pats Windows Notepad) failo pradžioje padeda kažkokių "baronkų", kurių šiaip redaguojant failą nesimato, bet jos perduodamos iš php, todėl nebeveikia headeriai, cookies ir t.t. (headers already sent). Taip neatsitinka išsaugant win1267. Nelabai žinau, kaip tas nesąmones iš pradžios nutrint. Jos atrodo maždaug taip:

 &#239;»&#191;

Po to jau seka normalus kodas.

Puslapiuose su "windows-1257" nerodo tinkamai įrašų iš duombazės, kurios koduotė "utf8". Viskas kaip ir logiška. Bėda ta, kad negaliu paverst duombazės kodavimo į "cp-1257_lithuanian_ci". Gaunu klaidą #1115 - neatpažįsta tokios koduotės (nors PHPMyAdmin bendrame sąraše ją rodo). Labai nesinori daryt atvirkščiai - visos svetainės koduotę keist į "utf8", nes bijau, kad atsiras kokių bėdų vėliau - veik visos lietuviškos svetainės naudoja 1257, įskaitant ir šį forumą :)

Kas dabar daryt?

šiaip nemanau, kad čia PHP dalykas, bet gal kas susidūrėte. Problema tokia: iš prisijungimo tinklapio su paprasta forma (vardas, slaptažodis), paspaudus "submit" turėtų duomenys būti perduodami patikrinimui duombazėje kitame faile (pvz. "check.php"). Iš ten, patikrinus viską, jau PHP per "header: Location" permeta į registruotų vartotojų tinklapį. Bėda ta, kad Firefox veikia kuo puikiausiai, o IE negali po "submit" paspaudimo perduoti duomenų "check.php". Parodo tuščią tinklapį. Viskas normaliai suveikia tik paspaudus "refresh" mygtuką naršyklėje.

Ieškojau atsakymo, bet radau tik patarimą vietoje reliatyvaus adreso:
form action="check.php"
įrašyti absoliutų
form action="http://www.manosvetaine.lt/check.php"

Deja, nepadėjo. Jei kas buvote su tuo reikalu susidūrę, padėkit naujokui :)

aia

Atsiprašau už nesąmoningą klausimą. Kaltas buvo čekiškas teksto redaktorius be reikalingos kodų lentelės... Ech, kiek visokių niekų reikia sužiūrėti... :)

Kažkodėl nematau lietuviškų raidelių. Nei HTML kode, nei PHP sugeneruotame.
įmečiau visą Wamp komplektą nekeisdamas standartinių nustatymų. Tai gal dabar tik angliškai tegalima rašyt? Radau šiaip PHPinfo, kad priima tik en-us,en;q=0.5, o rašyti neva galima ir UTF-8: Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7. Metoje 1257, žinoma, įdėtas. Kadangi nematau ir HTML kode, tai gal Apache ką nors reikia keist?

aia

Tai taip panašiai ir darau :)
Ačiū už patarimus. Beje, jei gerai suprantu, tai sėkmės atveju turėsiu bėdos - tai yra kažin ar galėsiu sklandžiai perkelti viską iš namų kompiuterio į serverį internete (turiu galvoje ne PHP programas, o pačią duomenų bazę su visais įrašais. Nes iš anksto nežinau, kokia MySQL versija ten bus ir su kokiais parametrais (ar leidžiama kurti duomenų bazes ar yra viena jau paskirta - kitos negalimos, ir pan.). Kaip paprastai keliami duomenys iš "testinės" aplinkos į darbinę?