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

Slucajno duplo izvrsavanje skripta && izvrsavanje unix komande

[es] :: PHP :: Slucajno duplo izvrsavanje skripta && izvrsavanje unix komande

[ Pregleda: 2515 | Odgovora: 4 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

luner
Donald Secret

Član broj: 80
Poruke: 171
195.252.118.*

Sajt: www.lun.co.yu


Profil

icon Slucajno duplo izvrsavanje skripta && izvrsavanje unix komande24.08.2002. u 19:50

1. Koje su tehnike "u modi" za sprecavanje duplog izvrsavanja skripta?
Recimo, imam tri skripta:
skript-forma.php // Skript koji sadrzi formu i baca promenljive skriptu skript-db.php
skript-db.php // Jednostavan skript koji se povezuje sa bazom i u datu tabelu unosi podatke
skript-pregled.php // Skript koji sluzi za pregled unosa tj, kako to izgleda u realnom zivotu.

E sada, ja bih zeleo da sprecim da kada korisnik prodje prvi i drugi skript pa na trecem udari back
da se sadrzaj ne unese ponovo u bazu (ili ako lupi na njemu refresh). Resenja?

2. Bas to - hocu da izvrsim neku komandu na Unix sistemu preko PHP-a a on da mi vrati izlaz te
komande.

3. ili bonus pitanje:
Da li postoji neki ekvivalent funkciji nl2br u nl2br_/? Mislim, da radi po xhtml standardu. Postoji
neko elegantno resenje ili mora da se ponovo prolazi (mislim PHP da prolazi :)) kroz string i
prepravlja?


*************************************
24.08.2002. u 19:50 

Gojko Vujovic
Juniper Networks
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13171
*.gojko.ss.

Sajt: www.gojkovujovic.com


Profil

icon Re: Slucajno duplo izvrsavanje skripta && izvrsavanje unix komande24.08.2002. u 20:09
2. Funkcije: system() - izvrsava program, vraca output. exec() - izvrsava program, vraca samo poslednju liniju. passthru() - isto kao system() ali se koristi kada izvrsena komanda vraca neke binarne podatke koje treba dalje upotrebiti. Imas jos i klasican 'backtick' operator, sto bi se reklo $rezultat = `komanda koju hoces da izvrsis`; Isto kao u perlu, ako si upoznat. Ukoliko neki od parametara komandi dobijas od korisnika, obavezno koristi escapeshellcmd() na unetom tekstu da bi izbegao potencijalnu security rupu.

3. Od php-a 4.0.5, nl2br() je XHTML-safe, dakle vraca <br /> na mestu svakog \n.
24.08.2002. u 20:09 

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 2787
*.14.EUnet.yu

Jabber: grakic@jabber.org
Sajt: blog.goranrakic.com


Profil

icon Re: Slucajno duplo izvrsavanje skripta && izvrsavanje unix komande24.08.2002. u 23:21
oko duplog unosa može da se sredi sa JS-om (znači onsubmit event koji će da onemogući ponovni submit, može i sa cookijem da se zabeleži nešto tipa aktivni korak i da cookie traje 1min ili više pa da to proveravaš). U principu mora se info čuvati kod klijenta...
http://sr.openoffice.org — slobodan kancelarijski paket, zamena za MS Office, na srpskom i engleskom, legalno bez troškova licenciranja
24.08.2002. u 23:21 

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
*.rcub.bg.ac.yu

Sajt: localhost


Profil

icon Re: Slucajno duplo izvrsavanje skripta && izvrsavanje unix komande25.08.2002. u 18:25
1. koliko ja znam, najcesci se koristi (u "modi" je) header() komanda da posalje expiration hedere da kaze browseru da ne kesira stranicu... ovakav kod bi trebalo da dodash na svaku tvoju pomenutu stranicu na pocetku:

Code:

// ovo je iz php manual-a za header() funkciju...

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");    // Date in the past
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
                                                    // always modified
header("Cache-Control: no-store, no-cache, must-revalidate");  // HTTP/1.1
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");                          // HTTP/1.0 


a josh jedan dobar trik je i da uradish redirect sa odgovarajucim hederom:
Code:

// takodje sa iste stranice php manual-a

header("Location: http://www.example.com/"); /* Redirect browser */
exit;                 /* Make sure that code below does 
                        not get executed when we redirect. */ 


ali ovo dodaj samo u scripta-db.php i posle redirektuj korisnika na neku stranicu na kojoj ga obavestavash da "je sve proslo kako treba, da su podaci uneseni...", ili direktno na skripta-pregled.php stranicu, kako ti vec odgovara...



3. a u starim verzijama php-a:
Code:

$text=preg_replace("/\r\n|\r|\n/", "<br />", $text);


25.08.2002. u 18:25 

luner
Donald Secret

Član broj: 80
Poruke: 171
*.jagodina.beotel.yu

Sajt: www.lun.co.yu


Profil

icon Re: Slucajno duplo izvrsavanje skripta && izvrsavanje unix komande26.08.2002. u 15:21
Hvala momci, vrsi posao!
*************************************
26.08.2002. u 15:21 

[es] :: PHP :: Slucajno duplo izvrsavanje skripta && izvrsavanje unix komande

[ Pregleda: 2515 | Odgovora: 4 ]

Postavi temu Odgovori

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