Jump to content
php.lv forumi

Kaklz

Moderatori
  • Posts

    1,401
  • Joined

  • Last visited

Posts posted by Kaklz

  1. function getEmail(){
    
    $domains = array(
    'inbox.lv','hotmail.com', 'gmail.com', 'apollo.lv', 'aol.com','yahoo.com','mail.com',
    );
    
    $email = '';
    $chars = 'qwertyuiopoplkjhgfdsazxcvbnm1234567890';
    for ($i = 0; $i <= 7; $i++){
    $email .= $chars[rand(0,strlen($chars)-1)];
    }
    
    return $email . '@' . $domains[rand(0,sizeof($domains)-1)];
    }
    
    while(true){
    echo getEmail();
    }

     

    Reku tev funkcija ar ko saģenerēt - e-pasta adrešu garumu un atļautos simbolus gan jau mācēsi pielabot. Priekšnieks būs priecīgs par miljardiem nosūtītu e-pastu. Galvenais neaizmirsti atpakaļadresi norādīt priekšnieka e-pastu. Vēlams privāto.

  2. Kā būtu ar kaut ko šādu?

     

    <?php
    $users = file('currencies.txt');
    ?><table><?php
    $i =0;
    $cols = array(0 => '#ffffff', 1 => '#a7a7a7');
    foreach ($users as $user) {
    list($symbol, $currency_name, $currency_plural, $currency_buy, $currency_sell) = explode(" / ", $user);
    ?>
    <tr bgcolor=<?=$cols[$i++%2]?>>
    <td width=16><img src=/fl/<?= strtolower($symbol)?>.jpg alt="<?= $currency_name ?>"></td>
    <td width=30 align=left valign="middle" class=tab><?= $symbol ?></td>
    <td width=62 align=right valign="middle" class=tab2><?= $currency_buy ?></td>
    <td width=62 align=right valign="middle" class=tab2><?= $currency_sell ?></td>
    </tr><?php 
    }
    ?></table>

     

    ievaddati

    USD / ASV Dollars (USD) / ASV Dollars / VERTIBA 1 / VERTIBA 2
    EUR / EIRO (EUR) / EIRO / VERTIBA 3 / VERTIBA 4
    AUD / Australijas Dollars (AUD) / Australijas Dollars / VERTIBA 5 / VERTIBA 6

     

    izvads

    <table>
    <tr bgcolor=#ffffff>
    <td width=16><img src=/fl/usd.jpg alt="ASV Dollars (USD)"></td>
    <td width=30 align=left valign="middle" class=tab>USD</td>
    <td width=62 align=right valign="middle" class=tab2>VERTIBA 1</td>
    <td width=62 align=right valign="middle" class=tab2>VERTIBA 2</td>
    </tr>
    <tr bgcolor=#a7a7a7>
    <td width=16><img src=/fl/eur.jpg alt="EIRO (EUR)"></td>
    <td width=30 align=left valign="middle" class=tab>EUR</td>
    <td width=62 align=right valign="middle" class=tab2>VERTIBA 3</td>
    <td width=62 align=right valign="middle" class=tab2>VERTIBA 4</td>
    </tr>
    <tr bgcolor=#ffffff>
    <td width=16><img src=/fl/aud.jpg alt="Australijas Dollars (AUD)"></td>
    <td width=30 align=left valign="middle" class=tab>AUD</td>
    <td width=62 align=right valign="middle" class=tab2>VERTIBA 5</td>
    <td width=62 align=right valign="middle" class=tab2>VERTIBA 6</td>
    </tr>
    </table>

     

    tik skaties, lai tev ievaddatu fails ir korekts un ir visur vajadzīgās atstarpes. tajā fragmentā ko tu te biji iekopējis vairākās vietās trūka atstarpes.

  3. ja tev tam shoutbox priekšā ir autorizācija (spriežu pēc tā, ka tu izmanto $_SESSION['user_id']), tad tev nav nepieciešams to nickname vispār formā padot, jo to tu uzzināsi servera pusē. Padodot nickname no formas autorizētam lietotājam tu potenciāli atstāj iespēju cilvēkam postot shoutbox svešā vārdā. Ja gribi vienkārši parādīt cilvēkam viņa vārdu, tad pēc visa spriežot vienkārši izdrukā get_username() f-jas rezultātu, pagaidām tu to ddrukā nepareizajā vietā - <input id="" atribūtā, kuru pārlūks vizuāli neattēlo. Tā vietā vai nu drukā value="" atribūtā vai arī vispār ārpus <input />

  4. Lai tev veicas cilvēku pārradināšanā no Excel uz kaut ko citu. Cik ir nācies saskarties ar šāda veida pāreju, tā ir ļoti smaga, jo Excel pieļauj dikti brīvi darboties datiem, ir ērts datu ievadīšanā, ko nevar teikt par lielo vairumu web formām.

  5. būtībā to var realizēt ar aptuveni šādu mehānismu MySQL

     

    mysql_query("SET @pos = 0");
    mysql_query("UPDATE `players` SET `pos` = @pos:=(@pos+1) ORDER BY `points` DESC");

     

    Vienīgā nianse, ka šādus jokus var laist tikai fonā un tikai pa kaut kādam laika intervālam - teiksim reizi 5 vai 10 minūtēs, atkarībā no vajadzības.

     

    Kad šis tiek izpildīts, tad jau vairs atliek tikai selektēt pēc lietotāja identifikatora un iegūsi vietu laukā "pos".

  6. varbūt vienkārši ieliec pēdiņās tos skaitļus?

     

    $a = "123456789123456";
    $b = "123";
    $c = strlen($b);
    $d = strlen($a);

     

    Problēma kā jau tev te vairākas reizes ir teikts, ka tavs 15 zīmes garais skaitlis neielien int robežās. tāpēc jau pirms konkatenācijas un typecasting tas vairs nav tas, ko tu iedomājies. Lai labāk saprastu, pamēģini kaut vai šādu joku uz 32bit kastes:

     

    <?php
    
    $a =  123456789123456;
    echo $a;

    uz mana 32bit servera rezultāts ir

    1.23456789123E+14

     

    no šejienes tu arī redzi, kur un kāpēc tev pieliekas galā nulles - skaitlis tiek pārveidots par double un pazaudēti pēdējie pāris precizitātes cipari - tavā gadījumā 456, kas aizvietojas ar 000.

  7. par to iframe augstumu - varbūt sāc ar to, ka norādi mērvienības pie augstuma? pliks height: 1000 css style atribūtā tiek ignorēts. ja tu gribi rakstīt bez mērvienībām, tad tas tev ir jāraksta kā html atribūts. tb

    vai nu

    <iframe ... height="1000"..></iframe>

    vai

    <iframe ... style="height:1000px;" ...></iframe>

    par mysql - a kā tev lietotāji tiek datubāzē? paskaties un līdzīgi uztaisi avatarus ;)

  8. nemec, aiziet, tev karogs rokā un taisi par 200Ls šim cilvēkam to e-veikalu. Pēc tam parādi rezultātu un nosauc REĀLO stundu skaitu, cik tu patērēji. Ja tu neesi ar mieru, tad es atļaujos apšaubīt tavus aprēķinus kā vienkāršu "pierēķināšanu vajadzīgajam ciparam".

  9. Ja nemaldos, tu taisi kaut kādu web spēli, kurā jāgaida līdz resursu atjaunošanās brīdim. Ja tā nav, tad tālāko vari nelasīt.

     

    To var darīt šādi - tu zini, cikos tev ir jāpalielina attiecīgais resurss par kādu vienību, tad nu to datu atjaunošanu veic php pusē bez jebkādiem background procesiem vai kā tamlīdzīga vienkārši pieglabājot resursa pieauguma tempu laika vienībās un pie nākamā pieprasījuma pārbaudot vai tas resurss nav jāpalielina.

     

    Teiksim man ir resurss nauda, kas pieaug par 10 latiem katru minūti. Es saglabāju lietotāja pašreizējo naudas daudzumu, pēdējo atjaunošanas laiku un pieauguma tempu:

     

    user | current_money | last_update | delta

    x | 100 | 2009-02-27 14:03:00 | 10

     

    Tad kad tu ielādē lapu vienkārši paskaties par cik minūtēm atšķiras last_update laiks no pašreizējā laika un par tik reizēm palielini delta vērtību un pieskaiti current_money datiem, atjauno arī last_update laiku.

     

    Tas, ka lietotājs nav lapā neko nemaina - tiklīdz viņš ieradīsies, tu viņa datus pārrēķināsi. Ja tev vajag viņa datus gadījumā ja viņam kāds uzbrūk, tad pārrēķini tos arī tad.

  10. Grey_Wolf: Ir gadījumi, kad laika limits ir vajadzīgs mazāks kā 10 minūtes, bet tajā pašā laikā tam fona procesam var vajadzēt vairāk laika nekā ir tas limits. Tb var gadīties tā, ka laižot skriptu ik pa minūtei ar crontab nākamā skripta instance tiek palaista pirms iepriekšējā ir paspējusi pabeigties un tad ir SLIKTI. Tad nu nekas cits neatliek kā rakstīt vai nu php vai sh skriptu ar sleep.

×
×
  • Create New...