Warning: mysqli_select_db() expects parameter 1 to be mysqli, string given in /home/itstreet/public_html/classes/CMySQL.php on line 22

Warning: mysqli_query() expects at least 2 parameters, 1 given in /home/itstreet/public_html/classes/CMySQL.php on line 24
ITstreet -PHP snippets - sve što vam treba je copy/paste
Preskoči na sadržaj

ITstreet postovi

PHP snippets - sve što vam treba je copy/paste

Kolekcija PHP linija koda i skripti zgodna da se umetne u bilo koji projekat na kome trenutno radite. Neki od redova koji slede su linije koda koje se koriste u skoro svakoj php stranici. Svakako da korisnih snippet-a ima mnogo, mnogo više, ali ove smatram neophodnijim.

1. PHP info

Jedna od linija koda koja je zgodna da je uvek pri ruci. Naime, bilo da koristite free ili plaćeni hosting nikad ne možete znati šta je sve provajder isključio. Kad god postavite stranicu koja je savršeno radila na localhost-u na server i vidite da nešto nije kako treba, prvo pogledajte da nije neka od vama neophodnih funkcija isključena.

phpinfo();


To je to. "Kod je mali ali su isto tako i dijamanti".

2. Trenutna godina (vreme)

Ako u dnu futera (ili bilo gde) imate nešto poput copyright od - do, a ne želite da trenutnu godinu menjate svake godine, PHP će to uraditi za vas:

echo date("Y");


3. E-mail validation

S obzirom da na mreži ima mnogo pametnih a dokonih ljudi, moramo uvek voditi računa o našim formama za unos podataka, komentare, poruke i sl. Jedno od bitnijih polja u formi je polje za email posetioca. Nama je bitno da se u to polje unese ispravna email adresa ali se u to polje može upisati bilo šta. Ovo je jedan od načina za filtriranje adresa.

$email = '';
if(isset($_POST['email'])){
    $email = $_POST['email'];
    if(filter_var($email, FILTER_VALIDATE_EMAIL)){
        echo '

This is a valid email.

';     }else{         echo '

This is an invalid email.

';     } }

    Email:    


Ovo je još jedan način za validaciju:
$email = $_POST['email'];
if(preg_match("~([a-zA-Z0-9!#$%&'*+-/=?^_`{|}~])@([a-zA-Z0-9-]).([a-zA-Z0-9]{2,4})~",$email)) {
    echo 'This is a valid email.';
} else{
    echo 'This is an invalid email.';
}


4. Word of the day

Sretali ste se sa stranicama gde se određene rečenice ili reči menjaju u zavisnosti koji je dan. Ovo je jedan od načina da to postignete.

Prvo ćete napisati tekst koji želite da se menja i snimiti ga, recima kao: text.txt
U njemu ćete reči/rečenice postaviti u niz:

Danas je lep dan.
Danas je sasvim običan dan...
Volim Hrizanteme, još samo da znam kako izgledaju.
Mercedes je odličan auto.
Udahnite život punim plućima.
Kakav promašaj...
I ovo je sedma rečenica.

Zatim ide php:

    function wordoftheday(){
        $filename = "text.txt";
        $handle = fopen($filename, "r");
        $contents = fread($handle, filesize($filename));
        fclose($handle);
        $array = explode("\n",$contents);
        $date = date("z");
        if($date > count($array)){
            return $array[0];
        }else{
            return $array[$date];
        }
    }
    
    echo '

 

'.wordoftheday().'

';


5. Code generator

Treba vam kombinacija slova i brojeva koju ćete koristiti za logovanje i koja mora biti slučajno (random) generisana? To se postavlja ovako:

$str = '';
$string = "abcdefghijklmnopqrstuvwxyz0123456789";
for($i=0;$i<10;$i++){
    $pos = rand(0,36);
    $str .= $string{$pos};
}
echo $str; 


Skripta će prikazati kombinaciju od 10 znakova i svakim osvežavanjem stranice biće drugačiji. Broj znakova koji vam trebaju menjate u for petlji. Promenljivu str možete upotrebiti na razne načine.

6. Dodatak rednom broju

Ako želite da napravite obeležavanje rednim brojem i želite da dodate nastavak rednom broju da bi on to i bio, treba vam ovakav kod:

function ordinal($cdnl){
    $test_c = abs($cdnl) % 10;
    $ext = ((abs($cdnl) %100 < 21 && abs($cdnl) %100 > 4) ? 'th'
            : (($test_c < 4) ? ($test_c < 3) ? ($test_c < 2) ? ($test_c < 1)
            ? 'th' : 'st' : 'nd' : 'rd' : 'th'));
    return $cdnl.$ext;
} 
for($i=1;$i<20;$i++){
    echo ordinal($i).'
'; }


Broj rednih brojeva menjate u for petlji, i vodite račina, u ovakvom kodu dvadeset je broj do koga se for petlja izvršava. On ne ulazi u petlju, petlja kreće od nule. Ovo će vam biti interesantno ako sajt/blog radite za englesko govorno područje.

7. Back button

Jedan od načina za dugme nazad (back). Može se isto postići i sa javascript i dr.

  $url = htmlspecialchars($_SERVER['HTTP_REFERER']);
  echo "back";


8. Filtriranje unetog teksta

Zgodna linija koda za forme za komentare i slično. Možete izabrati šta od unetih karaktera želite da se prikaže a šta ne.

    $value = 'svasta123>,<';
    $value = preg_replace("/[^A-Za-z0-9]/","",$value);
    echo $value;


9. Zabrana keširanja css-a i js-a.

Ukoliko iz nekog razloga ne želite da se eksterni delovi vaše stranice keširaju u pregledaču, evo kako to možete da rešite:



PHP kod će dodati brojeve (u ovom slučaju trenutno vreme) na kraju putanje i neće biti moguće keširanje vaših css, javascript idr. fajlova.

10. Maintenance mod

Kada želite da menjate nešto na vašoj web stranici a ne želite da to bude u tom trenutku javno, možete to da rešite ovako. Prvo treba da napravite prikladnu maintenance.php stranicu. A onda $mode menjate iz true u false po potrebi.

 function maintenance($mode = FALSE){
    if($mode){
        if(basename($_SERVER['SCRIPT_FILENAME']) != 'maintenance.php'){
            header("Location: http://example.com/maintenance.php");
            exit;
        }
    }else{
        if(basename($_SERVER['SCRIPT_FILENAME']) == 'maintenance.php'){
            header("Location: http://example.com/");
            exit;
        }
    }
}


11. Mejl snipet

Kada gradite nešto za slanje mejla:

$to = "someone@gmail.com";
$subject = "Subject";
$body = "Poruka ide ovde. Možete koristiti neke html elemente kao što su 
, ..."; $headers = "Od: Petar\r\n"; $headers .= "Reply-To: info@yoursite.com\r\n"; $headers .= "Return-Path: info@yoursite.com\r\n"; $headers .= "X-Mailer: PHP5\n"; $headers .= 'MIME-Version: 1.0' . "\n"; $headers .= 'Content-type: text/html; charset=utf8' . "\r\n"; mail($to,$subject,$body,$headers);


12. 404 stranica za one koji petljaju po address bar-u.

if(basename(__FILE__) == basename($_SERVER['PHP_SELF'])) send_404();
$db_Host = "localhost";        //Location Of Database usually its localhost
$db_User = "xxxx";            //Database User Name
$db_Pass = "xxxx";            //Database Password
$db_Database = "xxxx";       //Database Name
 
$db = mysql_connect("$db_Host", "$db_User", "$db_Pass") or die ("Error connecting to database.");
mysql_select_db("$db_Database", $db) or die ("Couldn't select the database.");
 
# This function will send an imitation 404 page if the user
# types in this files filename into the address bar.
# only files connecting with in the same directory as this
# file will be able to use it as well.

function send_404()
{
    header('HTTP/1.x 404 Not Found');
    print ''."n".
    ''."n".
    '404 Not Found'."n".
    ''."n".
    '

Not Found

'."n".     '

The requested URL '.     str_replace(strstr($_SERVER['REQUEST_URI'], '?'), '', $_SERVER['REQUEST_URI']).     ' was not found on this server.

'."n".     ''."n";     exit; }   # In any file you want to connect to the database, # and in this case we will name this file db.php # just add this line of php code (without the pound sign): # include"db.php";

13. Povezivanje za bazom i forsiranje naših slova

Verovatno svi prvo postavimo bazu da ispravno sadržava naša slova, ali nekada se desi da prikaz na stranici ne bude onakav kako smo zamislili. Razloga za to ima mnogo, obično smo glavni razlog mi sami.
Sa ovim kodom sve što pošaljemo u bazu ide u formatu utf8, a format možete i promeniti.

$db_host = "localhost"; 
// Place the username for the MySQL database here 
$db_username = "root";  
// Place the password for the MySQL database here 
$db_pass = "pass";  
// Place the name for the MySQL database here 
$db_name = "db_ime"; 
// Run the actual connection here  
mysql_connect("$db_host","$db_username","$db_pass") or die ("could not connect to mysql");
mysql_select_db("$db_name") or die ("no database"); 
mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET COLLATION_CONNECTION='utf8_general_ci'");



To bi bilo sve za sada.

Ostavite poruku

Vaša mejl adresa neće biti objavljena.Označena polja su obavezna*

  1. Dejan

    Naravno, sve kose crte ispred navodnika uklonite.