Jump to content
php.lv forumi

Venom

Moderatori
  • Posts

    1,918
  • Joined

  • Last visited

Posts posted by Venom

  1. Tas jau nav flūds, bet kļūdas paziņojums!

     

    Kā tikt vaļā: raxtīt normālu kodu!

    Šajā gadījumā var pārbaudīt un ja neexistee vajadziiga f-ja, to radiit virtuaali:

    if (!function_exists('vote'))

    function vote() {};

     

    Vai nu skaties php.ini ap error_level (jaauzliek kaut kas liidziigs ~E_ALL);

  2. 2 jannis: headeris var nomest $_POST variābļus, ne visiem iet kūkijas. Es taisu tā:

     

    function obl($skip='')

    {

    $sensitive=array('a','b','c','d');//variābļi, kurus pēc iespējas jāsaglabā; valoda vienmēr iet līdzi

    if ($skip)

    {

    $arr=array();

    $arr=explode(',',$skip);

    $sensitive=array_diff($sensitive,$arr);

    }

    $skip=$_SERVER['PHP_SELF'].'?valoda='.$_GET['valoda'];

    foreach($sensitive as $ind)

    {

    if (isset($_GET[$ind]))

    {

    if (g($ind)) $skip.='&'.$ind.'='.g($ind);

    }

    }

    return addslashes($skip);

    }

     

    tad pēc tam echo '<form method="post" action="'.obl().'">';

    vai '<form method="get" action="'.obl('a,b').'">';, ja formā tiks uzlikti virsū jaunie "a" un "b"

  3. mazliet nesapratu par to "php -> rada HXTML kur tas viss nāk ārā.", bet:

    lapas <head> daļā liekam

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

     

    tad ir forma, ar piem. <input name="in_eng" /> utt

     

    pēc tās iepostēšanas

     

    mysql-query("INSERT INTO koptabula SET `in_eng`=' ".isset($_POST['in_eng']?mysql_escape_string(stripslahes($_POST)):'')."',

    ... ");

     

    Un fiss. MySQLā iekšā būs nevis en,ru,lv, bet attiecīgi ķēburi, jo visam jau jābūt iekš UTF-8.

     

    Līdzīgā veidā visu izpūšam laukā.

     

    Vienīgi, ja gribēsi taisīt meklēšanu, tad vajg MySQL>=4.1.alpha, un man tik un tā neatškir latviešu valodā mazus/lielus burtus.

     

    Mans nodoms būtu taisīt atsevišķu tabulu [tulkojumi], ķipa:

    PK|raxta/preces id|valodas id|tulkojums

     

    Tad kādai precei taisam

    "(SELECT * FROM tulkojumi WHERE `preces_id`='123' AND `valodas-id`='ru')

    UNION

    (SELECT * FROM tulkojumi WHERE `preces_id`='123' AND `valodas-id`='en')"

     

    (uzskatīsim, ka pēc defaulta tef visur savadīts en) šādi pēc fetcha tu dabon vai nu vajadzīgu valodu, vai anglisko tulkojumu.

     

    Par to saskarnes (pašas lapas tulkojumu). Man variants:

    $trans=array(

    'Welcome to'=>'Sveicināti',

    'shop'=>'veikalā'

    ...

    );

     

    foreach($trans as $key->$translation)

    {

    $trans[$key]=iconv('windows-1257','UTF-8',$translation);

    }

     

    katrai valodai, izņemot anglisko šādu te ^ failiņu. jābūt pieinstalētam iconv extensionam, lai varētu konvertēt kodējumus.

     

    tad ir funkcija:

    function tr($index)

    {

    global $trans;//tekošās valodas tulkojumi

    if (!isset($trans[$index])) return $index;

    return $trans[$index];

    }

     

    Jebšu atkal, vai nu izdod tulkojumu, jeb atgriež anglsiko indeksu.

    Tad tu echo tr('Welcome to').' '.$siteName.' '.tr('shop');

     

    P.S. es alu nedzeru.

  4. Būtu vismaz uzrakstījis, kas tev par datu bāzi: Access 97?

    MySQLā INTERSECT, kā arī UNION, MINUS un FULL ir tā pāša JOIN (precīzāk - LEFT OUTER JOIN) sinonīmi, jebšu viss augstākminētais strādā tikai kā LEFT OUTER JOIN. Man pagaidām pietiek.

    Ja tev ir MySQL 4.1.a vai vēlāks, vari mēģināt taisīt saliktos pieprasījumus.

  5. 1) apskaties manuālī, kādu tev vajag otro fopen parametru (w - rakstīšana no jauna, r - lasīšana, a - pievienošanau utml);

    2) php raksta tikai to, ko viņam liek un nepievieno jaunas rindas zīmi. Tev tas jādara pašam:

    fwrite($fp,"\n".$text); (atstarpe pirms teksta)

    vai atstarpe pēc teksta

    fwrite($fp,$text."\n");

     

    "\n" ir tāds specālsimbols, kurš parasti nav redzams (ASCII CHAR #13), tu viņu redzēsi ja Wordā ieslēgsi tādu fīču uz paneļa.

    Vēl, vndovos rindas tiek pabeigtas ar "\r\n", linušos tikai ar "\n", makos varētu tikai ar "\r".

    Vēl ir "\t" - tabulācijas simbols.

  6. Manuprāt pašam savu adresi tik viegli nepieliksi. Tiem one.lv u.c. vienkārši līgums noslēgts, ka vīņi nosūta papildus parametru un tas "radioserveris" nosūta it kā ar telefona numuru. Citādi man vēl nepietiek spama, lai no mana numura kāds sms sūtītu!

     

    SMS-spams! Ideja! ©

     

    set_time_limit(0);

    for ($n=5000000;$n<=9999999;$n++)

    {

    mail($n.'@sms.lmt.lv','spams','mana reklaama');

    mail($n.'@sms.tele2.lv','spams','mana reklaama');

    }

  7. Tas bija tas, kāpēc man ne'patika vecās phpMyAdmin versijas - pašas nemācēja addslashot.

     

    Jānotestē arī, vai postējot no formām, netiek automatiski pievienoti tie \', citādi vajag ņemt tos nost, lai dabūtu oriģinālu textu:

    mysql_query("INSERT INTO table SET `value`='".mysql_escape_string(stripslashes($POST['incoming']))."'");

  8. katru reizi, ka kāc ūzeris konektojās MySQLam, viņam tiek iedots Resouce ID/Connection ID unikāls nummurs, un tad katrs _id aiziet tieši attiecīgam ūzerim ar attiecīgo nummuru (pretjautājums: citādi, ja viens ūzeris taisa selektu un otrs arī, pirmajam vajadzētu saņemt otrā selekta rezultātus, vai kā?).

  9. man te uznāca tāda nostaļģija palasoties briesmu stāstus par dažiem ru un us hostingiem, kur hostingotāji piedāvāja bezmaxas hostingu, bet pēc tam mazliet savāca udočkas, bet tie projekti, kas bija zem hostingiem pamainītos veidos sāka parādīties (arī pārdošanā), kā dažādu citu studiju darbs.

    Man peim. būtu škrobīgi izlikt savu "sviedriem" lasīto kopā datubāzi (http://lyrics.x-zone.lv), lai tā pēc tam parādītos uz kāda cita hostinga kā kāda nezināma meistara garadarbs.

     

    Antitrust.

  10. Labi, varbūt man bija veca versija (tāpēc vēlākās arī neskatījos) - tur visi slēdzās no sākuma caur vienu "rootu" un tikai pēc tam varēja nomainīt ūzeri. Cik atceros, bija arī problēmas ar eksportu/importu ar stringiem ar apostrofiem.

    Aizgāju googlēt jaunu versiju.

     

    Laikam kāds grib, lai es šovakar iepostēju šeit savu 200-to postu.

×
×
  • Create New...