Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako stavljati varijable?

[es] :: PHP :: PHP za početnike :: Kako stavljati varijable?

Strane: 1 2

[ Pregleda: 4147 | Odgovora: 25 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

BLACK_SWORD

Član broj: 212173
Poruke: 171
*.team.ba.

Sajt: www.artwebdizajn.com


+3 Profil

icon Kako stavljati varijable?03.04.2010. u 18:48 - pre 170 meseci
Pozdrav

pravim skriptu u php e sad me zanima jeli bolje varijable spajati sa' ili sa "

npr.
vako
Code:
$opis_stranice = ' '.$txt[9].' - '.$opisportala.' ';
$kljucne_rijeci_stranice = ' '.$txt[10].' '.$kljucne_rijeci.' ';


ili vako

Code:
$opis_stranice = "$txt[9] - $opisportala";
$kljucne_rijeci_stranice = "$txt[10] $kljucne_rijeci";



I jeli html kod bolje stavljati u echo ili odvojeno

vako npr.

Code:

<?php

if (!$registruj) {

    echo'
<table width="80%" align="center" cellpadding="5" cellspacing="0" border="0">
    <tr>
        <td>

                              SADRŽAJ

                          </td>
             </tr>
</table>';

}

?>




ili je bolje ovako

Code:

<?php

if (!$registruj) {

?>

<table width="80%" align="center" cellpadding="5" cellspacing="0" border="0">
    <tr>
        <td>

                              SADRŽAJ

                          </td>
             </tr>
</table>

<?php

}

?>





i znaima me kakve su razlike izmedju php4 i php5, i npr ako napravim sajt u php5 oćeli kasnije moći raditi kada izadje novija verzija npr. php6
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-3.sezampro.rs.



+33 Profil

icon Re: Kako stavljati varijable?03.04.2010. u 19:14 - pre 170 meseci
Po mom mišljenju tu ne može da se sudi koji je metod bolji, a koji lošiji, već je to stvar ličnog izbora, svaki programer piše kod onako kako mu je lakše, svako ima neki svoj stil pisanja koda. Doduše, u određenim situacijama su ti pojedini stilovi pisanja koda jednostavno preporuka, pa tako npr. kad hoćeš da output-uješ neki ogroman HTML u PHP-u, bolje je da to uradiš tako što ćeš "prekinuti" PHP i direktno utisnuti taj HTML, nego da ga npr. echo-uješ kao string. Kad kažem "bolje" to ponajviše mislim u nekom estetskom smislu, stvarno ne znam dal' ima nekih razlika u performansama.

Citat:
BLACK_SWORD: i npr ako napravim sajt u php5 oćeli kasnije moći raditi kada izadje novija verzija npr. php6

Uvek će postojati taj backward compatibility, tačnije, kod u kome je korišćena sintaksa karakteristična za neku prethodnu verziju PHP-a, će bez problema raditi na novijim verzijama.
 
Odgovor na temu

mitke013
As Divljine
Freelancer

Član broj: 231934
Poruke: 338
195.252.79.*



+34 Profil

icon Re: Kako stavljati varijable?03.04.2010. u 22:25 - pre 170 meseci
Citat:
BLACK_SWORD: I jeli html kod bolje stavljati u echo ili odvojeno


Ni pod razno nemoj da html ispisujes php-om. Svaki editor ima code-completition pa ce ti sam zatvarati tagove. Ako ih upisujes u php-u, sigurno ces nekad pogresiti.

Bolje resenje je odvojis logiku i prezentaciju; ako radis proceduralno, onda bi npr. test.php na kraju samo include-ovao test.html. Npr.

test.php
Code:

$a = 10 ;
$b = 15 ; 
$c = $a+$b ;
require 'test.html' ;


test.html
Code:

<label>Proba</label>
<input type="text" value="<?php echo isset($c) ? $c : 'default text';?>" />


Kod ce biti mnogo pregledniji.

Najbolje resenje je Smarty:
test.php
Code:

$a = 10 ;
$b = 15 ; 
$smarty->assign('c', $a+$b) ;
$smarty->display('test.tpl');


test.tpl
Code:

<label>Proba</label>
<input type="text" value="{$c|default='default text'}" />


 
Odgovor na temu

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Kako stavljati varijable?03.04.2010. u 23:04 - pre 170 meseci
Citat:
Nikola Poša: Uvek će postojati taj backward compatibility, tačnije, kod u kome je korišćena sintaksa karakteristična za neku prethodnu verziju PHP-a, će bez problema raditi na novijim verzijama.


Ovo uvek važi samo u slučaju da u tom delu jezika nije bilo promena. Rad sa objektima se promenio pri prelasku sa PHP4 na PHP5 tako da je iole komplikovaniji kod postojao nekompatibilan. Ipak to ne treba da te brine, PHP6 neće skoro, a dug period će postojati preklopljeni razvoj tokom koga će biti podržan i PHP5 i PHP6. Zatim dokumentacija će dati jasne savete za prelazak sa jednog na drugi, a najveći deo koda verovatno da neće tražiti nikakve izmene. Pogledaj kako je to bilo u slučaju PHP4 na PHP5 u zvaničnoj dokumentaciji http://php.net/manual/en/migration5.php



Citat:
mitke013: Najbolje resenje je Smarty:


To je veoma nategnuta izjava i uveliko zavisi od primene do primene. Ne postoji univerzalno rešenje. http://nosmarty.net


Citat:
BLACK_SWORD
pravim skriptu u php e sad me zanima jeli bolje varijable spajati sa' ili sa "


Kažu da je "" nešto sitno brži u kraćim niskama nego nadovezivanje pomoću operatora. "" ima ružniju sintaksu kada su promenljive složeniji objekti ili pozivi funkcija/metoda.
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

mitke013
As Divljine
Freelancer

Član broj: 231934
Poruke: 338
195.252.79.*



+34 Profil

icon Re: Kako stavljati varijable?04.04.2010. u 13:35 - pre 170 meseci
Citat:
To je veoma nategnuta izjava i uveliko zavisi od primene do primene. Ne postoji univerzalno rešenje. http://nosmarty.net


Da, video sam taj sajt, ali se uopste ne slazem sa njim. Pogledaj moj primer i razliku izmedju php+html sintakse i koriscenjem Smarty-a.

Realno gledano, niko ni ne koristi vise od par Smarty funkcija: if-else, foreach, mozda ponekad assign.... I naravno modifier-i za ispis (tipa |escape) . Ne mogu da se setim vise nijedne funkcije ali recimo da sam koristio jos jednu-dve.
Zasto koristiti Smarty; svaki ispis mora da bude escape-ovan pa bi php+html kombinacija izgledala ovako:
Code:

<input value="<?php echo isset($a) ? htmlentities($a, ENT_QUOTES, 'utf-8') : 'tekst';?>" />

.tpl
Code:

<input value="{$a|escape|default='tekst'}" />


Daleko citljivije. Za brzinu se takodje ne slazem; ljudi koriste Zend_form koji ima 4-5000 linija, pa se niko ne zali. Danasnji software ce se izvrsavati na sutrasnjem hardware-u

Ok, ne mora da bude Smarty ali sasvim sigurno treba da koristi neki template engine. Smarty koristim jer ga PHPEd i DreamVeawer podrzavaju.
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-3.sezampro.yu.



+33 Profil

icon Re: Kako stavljati varijable?04.04.2010. u 14:02 - pre 170 meseci
Citat:
mitke013: ljudi koriste Zend_form koji ima 4-5000 linija, pa se niko ne zali.

offtopic: A kakve sad veze ima Zend_Form sa tom pričom o Smarty-ju? Ja npr. veoma često kombinujem te dve stvari, Zend_Form za backend logiku, Smarty za output...
 
Odgovor na temu

mitke013
As Divljine
Freelancer

Član broj: 231934
Poruke: 338
195.252.79.*



+34 Profil

icon Re: Kako stavljati varijable?04.04.2010. u 16:18 - pre 170 meseci
Citat:
Nikola Poša: offtopic: A kakve sad veze ima Zend_Form sa tom pričom o Smarty-ju? Ja npr. veoma često kombinujem te dve stvari, Zend_Form za backend logiku, Smarty za output...


Ma to je samo primer. Citao sam na dosta mesta kako je Smarty suvise spor. Poenta price je da je to usporavanje (koje sigurno postoji) totalno nebitno i moze se zanemariti.
 
Odgovor na temu

BLACK_SWORD

Član broj: 212173
Poruke: 171
*.team.ba.

Sajt: www.artwebdizajn.com


+3 Profil

icon Re: Kako stavljati varijable?04.04.2010. u 16:23 - pre 170 meseci
Evo kako sam ja uradio skriptu za registraciju

Code:
<?php

session_start();

if($_SESSION['prijavljen']== 1) {
header('Location: index.php');
} else {

include 'Postavke.php';
$nazivstranice = ''.$txt[6].' - '.$nazivportala.'';
...
include 'vrh.php';

$registruj = ''.$_POST['registruj'].'';

if (!$registruj) {

    echo'
<table width="80%" align="center" cellpadding="5" cellspacing="0" border="0">
<!-- ... -->
                <tr>
                    <td>
                        <b>'.$txt[11].'</b>
                    </td>
                </tr>
                <tr>
                    <td>
<!-- ... puno raznog HTML koda -->
        </td>
    </tr>
</table>';

} else {

$korisnickoime = ''.$_POST['korisnickoime'].'';
$lozinka = ''.$_POST['lozinka'].'';
...
$prihvatam_pravila = ''.$_POST['prihvatam_pravila'].'';

$provjera_korisnickoime = mysql_query ("SELECT * FROM korisnici WHERE korisnickoime ='$korisnickoime'") or die (''.$txt[23].''); 
$provjera_emaila = mysql_query ("SELECT * FROM korisnici WHERE email ='$email'") or die (''.$txt[23].'');

if (empty($korisnickoime)) {

    echo'
<table width="80%" align="center" cellpadding="5" cellspacing="0" border="0">
    <tr>
        <td>
<!-- opet puno html koda -->
        </td>
    </tr>
</table>';

} elseif (mysql_num_rows($provjera_korisnickoime)>0) {

    echo'
<table width="80%" align="center" cellpadding="5" cellspacing="0" border="0">
    <tr>
        <td>

<!-- opet puno html koda -->

        </td>
    </tr>
</table>';

// razne druge provere kroz else if blokove sa ispisom blokova html koda
 
} else {

$mb5_lozinka = md5($lozinka);
$aktivacija = md5($korisnickoime.$mb5_lozinka.$email.$spol.microtime());

$imebaze="INSERT INTO korisnici (korisnickoime, lozinka, email, spol, datum, ip_korisnika, host_korisnika, aktivacija)
VALUES ('$korisnickoime', '$mb5_lozinka', '$email', '$spol', '$datum', '$ip_korisnika', '$host_korisnika', '$aktivacija')";

if (mysql_query($imebaze)) {

$to = ''.$email.'';
$subject = ''.$txt[38].'';
$message = ''.$txt[39].'<br />'.$txt[43].' <a href="'.$urlportala.'">'.$nazivportala.'</a>.<br />'.$txt[44].' <b>'.$korisnickoime.'</b> '.$txt[45].' <b>'.$lozinka.'</b>.<br />'.$txt[46].' <a href="'.$urlportala.'aktivacija.php?aktivacija='.$aktivacija.'">'.$urlportala.'aktivacija.php?aktivacija='.$aktivacija.'</a><br />-----------------------------------------<br />'.$txt[47].',<br />'.$nazivportala.'';
$headers = 'From: '.$nazivportala.'<'.$webmaster_email.'>' . "\r\n" .
           'Content-type: text/html; charset='.$txt['lang_character_set'].'' . "\r\n" . 
           'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);

    echo'
<table width="80%" align="center" cellpadding="5" cellspacing="0" border="0">
    <tr>
        <td>
...
        </td>
    </tr>
</table>';

} else {

    echo'
<table width="80%" align="center" cellpadding="5" cellspacing="0" border="0">
    <tr>
        <td>
...
        </td>
    </tr>
</table>';

}

}

}

include 'dno.php';

}

?>


sta mislite dali je ovo vako pisanje koda dobro?

uglavnom skripta dobro radi.

[Ovu poruku je menjao Goran Rakić dana 04.04.2010. u 22:31 GMT+1]
 
Odgovor na temu

kelja

Član broj: 70429
Poruke: 1416
*.dynamic.isp.telekom.rs.



+35 Profil

icon Re: Kako stavljati varijable?04.04.2010. u 17:05 - pre 170 meseci
Moze to mnogo krace. Taj html output za gresku pri unosu, recimo, koji se ponavlja sa malim izmenama, mogao bi malo da se dotera...

Jedna funkcija, sa razlicitim parametrima za razlicite greske bi znatno skratila kod...

Pa onda, nisam siguran da je kod otporan na mysql injection? ili gresim?

I da, nisam siguran da ti trebaju 2 queryja za proveru. Zar ne bi moglo jednim?

Mislim, i sam sam pocetnik i pisem prljav kod, pa me bas zanima kako bi izgledala otpimizacija. :)

 
Odgovor na temu

BLACK_SWORD

Član broj: 212173
Poruke: 171
*.team.ba.

Sajt: www.artwebdizajn.com


+3 Profil

icon Re: Kako stavljati varijable?04.04.2010. u 17:32 - pre 170 meseci
Citat:
kelja: Moze to mnogo krace. Taj html output za gresku pri unosu, recimo, koji se ponavlja sa malim izmenama, mogao bi malo da se dotera...


Ovaj output sam stavio da se ponavlja zato sto nije sve za grešku, i vako mi je nekako jednostavniji i pregledniji.

Citat:
Jedna funkcija, sa razlicitim parametrima za razlicite greske bi znatno skratila kod...


Moželi mi neko pojasniti kako da uradim u jednoj funkciji

Citat:
Pa onda, nisam siguran da je kod otporan na mysql injection? ili gresim?


Možeteli mi objasniti sta je to injection?

Citat:
I da, nisam siguran da ti trebaju 2 queryja za proveru. Zar ne bi moglo jednim?


jedan je query za provjeru korisnickog imena a drugi za provjeru e maila
 
Odgovor na temu

mitke013
As Divljine
Freelancer

Član broj: 231934
Poruke: 338
195.252.79.*



+34 Profil

icon Re: Kako stavljati varijable?04.04.2010. u 18:05 - pre 170 meseci
Citat:
BLACK_SWORD:
Možeteli mi objasniti sta je to injection?


sql injection
 
Odgovor na temu

agvozden
Aleksandar Gvozden
founder
Info-G
Beograd

Član broj: 37813
Poruke: 1122
*.dynamic.isp.telekom.rs.

Sajt: www.gvozden.info


+68 Profil

icon Re: Kako stavljati varijable?04.04.2010. u 19:51 - pre 170 meseci
Ukoliko je početno pitanje bilo da li treba koristiti " ili ' navodnike:

"" navodnici podrazumevaju i određena formatiranja, kroz njih je moguće uvlačiti i promenljive.
'' sa ovim navodnicima se piše samo običan tekst.

ukoliko koristiš '' za običan tekst skripte će se izvršavati brže. Naravno "\n" možeš ubaciti samo sa duplim navodnicima...

što se tiče odvajanja php-a i html-a, pitanje je kao odvajati html i css... Preporučljivo jeste, ali ne vidim zašto ste razgranali temu na tu stranu...
 
Odgovor na temu

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Kako stavljati varijable?04.04.2010. u 21:36 - pre 170 meseci
Citat:
agvozden
ukoliko koristiš '' za običan tekst skripte će se izvršavati brže. Naravno "\n" možeš ubaciti samo sa duplim navodnicima...


Ukoliko sastavljaš takve niske, npr. 'nesto '.$promenljiva.' nesto drugo' onda to zapravo može biti sporije nego "nesto $promenljiva nesto drugo" što sam već napisao gore.

@BLACK_SWORD: Ovaj kod koji si ostavio je pravi primer loše prakse jer da bi pronašao petu else if granu moraš da dobro zagnjuriš u kod. Idealno blokovi PHP koda ne treba da budu duži od "dva ekrana". Prvo HTML kod stranice izdvoj u poseban .php skript koji onda pozoveš sa include/require funkcijama. Drugo ove blokove sa različitim proverama možeš da sabiješ u jedan niz koji sadrži kriterijume za proveru i jednu petlju koja odradi sve provere. Treće, razdvoj operaciju prikaz okvira stranice od operacije prikaz formulara sa ili bez poruke o grešci. Za sve to uopšte ne moraš da koristiš Smarty, a da dobiješ potpuno čist kod.
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

BLACK_SWORD

Član broj: 212173
Poruke: 171
*.team.ba.

Sajt: www.artwebdizajn.com


+3 Profil

icon Re: Kako stavljati varijable?05.04.2010. u 12:35 - pre 170 meseci
Citat:
Goran Rakić:  Drugo ove blokove sa različitim proverama možeš da sabiješ u jedan niz koji sadrži kriterijume za proveru i jednu petlju koja odradi sve provere.


možeteli mi reći kako da stavim ovo u jednu petlju da provjerava greške?

Code:
if (empty($korisnickoime)) {
    echo'Niste upisali korisniÄŤko ime!<br /><a href="javascript:history.back()">Idi nazad!</a>';
} elseif (mysql_num_rows($provjera_korisnickoime)>0) {
    echo'KorisniÄŤko ime ' ,$korisnickoime, ' već postoji u bazi!<br /><a href="javascript:history.back()">Idi nazad!</a>';
} elseif (preg_match('/[-!#$%&\'*+\\.\/=?^`{|}~]/', $korisnickoime)) {  
    echo'Upišite validno korisniÄŤko ime (samo slova, brojevi i _crte)!<br /><a href="javascript:history.back()">Idi nazad!</a>';
} elseif(strlen($korisnickoime)<=2) {
    echo'KorisniÄŤko ime ne moĹľe sadrĹľavati manje od 2 znaka!<br /><a href="javascript:history.back()">Idi nazad!</a>';
} elseif(strlen($korisnickoime)>15) {
    echo'KorisniÄŤko ime ne moĹľe sadrĹľavati više od 15 znakova!<br /><a href="javascript:history.back()">Idi nazad!</a>';
} elseif (empty($lozinka)) {
    echo'Niste upisali lozinku!<br /><a href="javascript:history.back()">Idi nazad!</a>';
} elseif(strlen($lozinka)<=4) {
    echo'Lozinka ne moĹľe sadrĹľavati manje od 4 znaka!<br /><a href="javascript:history.back()">Idi nazad!</a>';
} elseif(strlen($lozinka)>100) {
    echo'Lozinka ne moĹľe sadrĹľavati više od 100 znakova!<br /><a href="javascript:history.back()">Idi nazad!</a>';
} elseif (empty($email)) {
    echo'Niste upisali e-mail!<br /><a href="javascript:history.back()">Idi nazad!</a>';
} elseif (mysql_num_rows($provjera_emaila)>0) {
    echo'E-mail ' ,$email, ' već postoji u bazi!<br /><a href="javascript:history.back()">Idi nazad!</a>';
} elseif (!ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'.'@'.'[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.'.'[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$', $email)) {
    echo'Niste upisali ispravnu e-mail adresu!<br /><a href="javascript:history.back()">Idi nazad!</a>';
} elseif(strlen($email)>50) {
    echo'E-mail adresa ne moĹľe sadrĹľavati više od 50 znakova!<br /><a href="javascript:history.back()">Idi nazad!</a>';
} elseif (in_array($spol, array(-1))) {
    echo'Niste odabrali spol!<br /><a href="javascript:history.back()">Idi nazad!</a>';
} else {

 
Odgovor na temu

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Kako stavljati varijable?05.04.2010. u 12:56 - pre 170 meseci
Na primer nešto ovako, iako ima puno drugačijih mogućnosti.
Code (php):

function strlen_limit($str, $max) {
  return strlen($str) <= $max;
}

$tests = array(
  array(create_function('$user', 'return !empty($user);'),
           array($korisnickoime),
           'Niste upisali ime.'),
  array(create_function('$user, $result', 'return mysql_num_rows($result)>0;'),
           array($korisnickoime, $provjera_korisnickoime),
           'Ime vec postoji.'),
  array('strlen_limit',
           array($korisnickoime, 15),
           'Ime ne moze biti duze od 15 znakova.'),
  ...
);

foreach($tests as $t) {
  if(!call_user_func_array($t[0], $t[1]) {
    echo $t[3];
    break;
  }
}
 


http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

BLACK_SWORD

Član broj: 212173
Poruke: 171
*.team.ba.

Sajt: www.artwebdizajn.com


+3 Profil

icon Re: Kako stavljati varijable?05.04.2010. u 17:48 - pre 170 meseci
Može te li mi malo pojasniti ovu skriptu ništa ne kontam
 
Odgovor na temu

BLACK_SWORD

Član broj: 212173
Poruke: 171
*.team.ba.

Sajt: www.artwebdizajn.com


+3 Profil

icon Re: Kako stavljati varijable?05.04.2010. u 20:20 - pre 170 meseci
E da ne otvaram novu temu evo postavit cu pitanje ovdje:

Ovo što kažete da treba odvajati html kod od php ja sam uradio vako, pa bi vas molio da mi kažete jeli to uredu.

napravio sam folder teme i stavio ga u root i onda sam u njeg stavio još jedan folder zadana (default) i u njeg sam ubacio predloške header.php, foter.php, i ostale elemente kao sto su npr. meni.php itd e sad mene interesuje jeli te predloške treba spremiti kao npr. header.php ili header.html? A u root sam ubacio php skripte kao npr. index.php, registracija.php i sad u tom registracija sam samo piso php kod a ovo header i formu i footer sam include it teme/default/ i tako sad mogu koristiti više tema za sajt. E sad mene interesuje jeli to pravilno što sam uradio, jesteli i vi mislili tako kad ste rekli da odvajam html od php?


 
Odgovor na temu

mitke013
As Divljine
Freelancer

Član broj: 231934
Poruke: 338
195.252.79.*



+34 Profil

icon Re: Kako stavljati varijable?05.04.2010. u 20:55 - pre 170 meseci
Citat:
BLACK_SWORD
napravio sam folder teme i stavio ga u root i onda sam u njeg stavio još jedan folder zadana (default) i u njeg sam ubacio predloške header.php, foter.php, i ostale elemente kao sto su npr. meni.php itd e sad mene interesuje jeli te predloške treba spremiti kao npr. header.php ili header.html? A u root sam ubacio php skripte kao npr. index.php, registracija.php i sad u tom registracija sam samo piso php kod a ovo header i formu i footer sam include it teme/default/ i tako sad mogu koristiti više tema za sajt. E sad mene interesuje jeli to pravilno što sam uradio, jesteli i vi mislili tako kad ste rekli da odvajam html od php?


Ovo ti je mnogo bolje resenje od starog. Ako sam te razumeo, index.php ce na kraju da ima:
Code:

$a = 10 ;
require '/teme/index.html' ;

Zar ne? Samo nemoj da se zeznes pa opet krenes neku logiku u tom .html-u. Jedino sto je dozvoljeno je foreach, if i echo. Sve ostalo su samo html tagovi.

Nemoj da te buni sto .html prihvata php komande; ti taj fajl include-ujes u php. Posto si pocetnik, NIKAKO nemoj da krenes da koristis @ znak kako bi sakrio greske. Napravices sebi veliki problem ako ti to udje u naviku. Konkretna situacija je forma kad hoces da jedan html koristis i kod prvog upisa i kod ispisa postojecih podataka (edit i pad validacije). More puta sam video nesto poput:
Code:

<input type="text" value="<?php @echo name; ?>" />

Za tako nesto, koristi:
Code:

<input type="text" value="<?php echo isset($name) ? $name : '' ;?>" />


Da bi ovo razumeo, nauci obavezno sta je ternary operator. Procitaj opet gornje postove.
 
Odgovor na temu

agvozden
Aleksandar Gvozden
founder
Info-G
Beograd

Član broj: 37813
Poruke: 1122
*.static.isp.telekom.rs.

Sajt: www.gvozden.info


+68 Profil

icon Re: Kako stavljati varijable?06.04.2010. u 15:20 - pre 170 meseci
@Goran Rakić

Citat:
Ukoliko sastavljaš takve niske, npr. 'nesto '.$promenljiva.' nesto drugo' onda to zapravo može biti sporije nego "nesto $promenljiva nesto drugo" što sam već napisao gore.


Gorane, ne znam čime opravdavaš takvu tvrdnju?

Ja sam ranije testirao i razlika je bila duplo... u korist jednostrukih navodnika.

Code:

<?php
function getmicrotime() {
    list ($usec, $sec) = explode(" ", microtime());
    return ((float) $usec + (float) $sec);
}
$max = 1000000;
$input = array('glupost', 'velika glupost', 'najveca glupost', 'glupost!');
$timer = getmicrotime();
echo '<br>';
for ($i=0; $i<$max; $i++){
    $test = $input[0].' je '.$input[1].' ili '.$input[2].' ali je '.$input[3];
}
$timer2 = getmicrotime(); // ispravka, hvala mitke013 
echo round($timer2 - $timer, 4);
echo '<br>';
for ($i=0; $i<$max; $i++){
    $test = "$input[0] je $input[1] ili $input[2] ali je $input[3]";
}
echo round(getmicrotime() - $timer2, 4);
?>


Rezultati:
http://office.tritech.rs/test.php

Ili sam negde pogrešio?


[Ovu poruku je menjao agvozden dana 06.04.2010. u 16:52 GMT+1]
 
Odgovor na temu

mitke013
As Divljine
Freelancer

Član broj: 231934
Poruke: 338
195.252.79.*



+34 Profil

icon Re: Kako stavljati varijable?06.04.2010. u 15:43 - pre 170 meseci
Citat:
agvozden: @Goran Rakić

Gorane, ne znam čime opravdavaš takvu tvrdnju?

Ja sam ranije testirao i razlika je bila duplo... u korist jednostrukih navodnika.

0.0072
0.0142

Ili sam negde pogrešio?


Pogresio si. Nisi resetovao tajmer u drugom testiranju.
 
Odgovor na temu

[es] :: PHP :: PHP za početnike :: Kako stavljati varijable?

Strane: 1 2

[ Pregleda: 4147 | Odgovora: 25 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.