Jump to content
php.lv forumi

Venom

Moderatori
  • Posts

    1,918
  • Joined

  • Last visited

Posts posted by Venom

  1. Kāpēc uzreiz echo no PHP - browseris var nepaspēt noevaluēt noechotā skripta vērtību. Labāk echot ar skriptu:

    <script>

    document.write('<a href=some.php?wid="',wid,'">links</a>');

    </script>

  2. hm, fleims, bet atļaušos sevi pareklamēt vēlreiz, un tātad:

     

    VenPad

     

    1. Made in Latvia

    2. Sintakses highlight

    3. freeware

    4. registry independent

    5. un veel un veel

     

    Tidy var jau arī no komandrindas laist, kā īsc c001 h@x0r.

  3. Nu, neesmu drošs piem. par meklēšanu, jo mysql deafults ir iso-kaut-kas (Western Europe), tāpēc UTF-8 viņā izskatās kā P un $-līdzīgu burtu kopums, jebšu par case-insensitive meklēšanu var aizmirst. Mainīt mysql encodingu run-taimā? I doubt it.

  4. Nekad neesmu kūkijas lietojis (ok, varbūt tās taisa sessijas), tāpēc tāds jautājums: vajag uztaisīt paliekošu kūkiju, jebšu kurai expiry date kaut kas lielāks par 180 sekundēm.

    Ja lieto $_COOKIE viss normāli saglabājās līdz browsera slēgšanai. Lai uzliektu expiry date ar setcookie() jānorāda arī ko tajā kūkijā saglabāt. Man mazliet nesaprotamība tieši ar to saglabāšanu un atsākšanu - saglabājot taisu setcookie() ar serialize($_COOKIE), atsākot atkal jātaisa unserialize(), bet man tas atkal jūk un dati tiek vairākārt serializēti/deserializēti. Varbūt esmu palaidis garām kādu is_serialized funkciju?

  5. Ne pa tēmu

     

    Jē, sirdij mīļais iconv()!

    Vai kāds nav nodarbojes stringas iconvēšanu uz utf-8, ja viņā ir gan krievu, gan lv, gan de u.c. burti? No formas (encoding=utf-8) datu bāzē var uzreiz iedzīt utf-8 ar vairākām valodām. Incētu arī meklēšana ar mysql iekš UTF-8.

  6. Galvenie coķi kodos, kā jau zināms, ir no ievaddatiem. Pārbaudi - ja inputā ievada ciparu, tad tur nedrīxt būt texts (is_numeric();intval); searchos ar db izmantošanu dedrīxtētu ievadīt SQL komandas/papildkumandas. Piem uzlikt "';DELETE FROM database;", ja ceram uz to, ka searchs notiek ar SELECT * FROM database WHERE `column`='$search_string', kas "izliesies" uz SELECT * FROM database WHERE `column`='';DROP database; utt

  7. Kad raxti kodu, tad jau pats saproti, kur ir vājas vietas, Piem - zurakstīji logon skriptu ar globāļiem on - kur ir garantija, ka paroli nevar ieraxtīt tāpat? Ka parole neieraxtīsies history? ka kāds nepienāx un nenoskatīs to no adress ievadloga utt? Tad arī mēģini no tā "izbaviķsa". Paliīdz koda rādīšana citam kodeim - ja viņam kods ir pārlasāms un saprotams, tad viš varēs arī tajā coķus atrast.

  8. ņē, ņē, ņē!

    Nekādus ""(quotes)! Izmanto tieši ' - apostrofus, jo, piem. par ko php pieņems šādu ierakstu: variable=10; ?

     

    es runaaju par kaut ko shaadu..

     

    $var = 1;

    $_GET["indekss$var"]

  9. Skaistāk un, manuprāt pareizāk (jo tā nemet notīses), raxtīt nevis $_GET[mainīgais], bet gan $_GET['mainīgais']. Tādejādi var arī izmantot mainīgo vārdus, kuru nosaukumos ir "nereglamentētas" zīmes (space, u.c.). Citādi uz error_level=E_ALL rāda Notice:unknown variable "mainīgais" assumed mainīgais...

  10. Tad lūk lietoju register_globals=off un error_level=E_ALL;

    ar globāļiem viss skaidri. Ar error-level dažas fīčas, piem. lietoju līdzīga veida funkcijas:

    <code><font color="#000000">
    <font color="#0000CC"><?php </font><font color="#006600">function </font><font color="#0000CC">post</font><font color="#006600">(</font><font color="#0000CC">$param</font><font color="#006600">) </font><font color="#FF9900">//f-ja $_POST variabļu nolasīšanai
    </font><font color="#006600">{
    </font><font color="#FF9900">//definē tukšu indeksu
    </font><font color="#006600">if (!isset(</font><font color="#0000CC">$_POST</font><font color="#006600">[</font><font color="#0000CC">$param</font><font color="#006600">]) {</font><font color="#0000CC">$_POST</font><font color="#006600">[</font><font color="#0000CC">$param</font><font color="#006600">]=</font><font color="#CC0000">''</font><font color="#006600">;}
    return </font><font color="#0000CC">$_POST</font><font color="#006600">[</font><font color="#0000CC">$param</font><font color="#006600">];
    }</font><font color="#0000CC">?></font>
    </font>
    </code>

    un tā tālāk visādiem $_SERVER utjpr - nu nepatīk man gari rakstīt, pieturot shiftu, es rakstu post('pwd') utt.

    Bet kā ir ar E_ALL un visādiem true, false, NO_QUOTES, null - utt. - iekšēji definētām konstantēm? Manuāļos viņi ir ierakstīti kā integer, tomēr nav zināmi viņu values, bet izmantojot kādu htmlspecialchars($str,NO_QUOTES); izlec NOTICE, ka NO_QUOTES ir iepriekš nenodefinēts mainīgais. Prikš true un false var izmantot 1 un 0, kaut arī pēc būtības tas nav viens un tas pats - bet ar citiem? Tā esmu aplauzies ar vairāku funkciju pielietojumu.

    Vai kāds nezin, kur atrodami šo konstanšu ciparekvivalenti?

  11. Uz pirmo skatienu man piemēram napatiktu shis:

    <code><font color="#000000">
    
    <font color="#0000CC"><?
    </font><font color="#006600">{
    </font><font color="#0000CC">$dberror </font><font color="#006600">= </font><font color="#0000CC">[url=http://lv.php.net/mysql_error]mysql_error[/url]</font><font color="#006600">();
    return </font><font color="#0000CC">false </font><font color="#006600"><---
    }
    ?
    </font>
    </font>
    </code>

    return false;

    vai, ja lieto error level=all, tad return 0; vai pirms tam define(false,0);

  12. Hm, bija kaut kāds SUBSTRING(`lauks`,atdaliitaajs,cik reizes atkaartojas), tad nu piemeeram var uzlikt lasiit pirmos 30 "vaardus": SUBSTRING(`lauks`,' ',30); kaut kur blakus manuaaliii (diemzheel ka vienmeer nav pie rokas, tapeec raxtu uz dullo) bija funkcija, kur vareeja atrast kaadu ziimi peec tik un tik char-iem, piemeeram LOCATE(`lauks`,'.',300) - atrast pirmo punktu peec 300 burtiem.

  13. Nu ja raxtam "skaistu kodu", tad nevajadzētu būt "PHP_SELF", bet 'PHP_SELF' - jo pirmais ir "parsed string", bet otrs "string string", jebšu "some $var some" mēģinās iepārsēt $var vērtību iekš stringas, bet 'some $ var some' - nē.

  14. Laikam jau 10x. Outlūka propertijos neredzēju kur jābūt tam 64-enkodētam [skipped] :) Bet atkal tagad nejēdzu kā nokonfigurēt mailserveri :(. Aizvakar uzliku un viens-divi aizgāja. Vakar 2 stundas močījos - vai nu sūta no php vai nu pieņem iekš Outlūka - reizē nekā (uz lokālā datora kas nav pievienots i-netam).

×
×
  • Create New...