Forum FAQForum FAQSearchSearch MemberlistMemberlist Forum ignore listForum ignore list RegisterRegister ProfileProfile Log in to check your private messagesLog in to check your private messages Log inLog in
PHP if (!$_POST[""])

 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Server-side
View previous topic :: View next topic  
Author Message
Hrvoje



Joined: 03 Sep 2004
Posts: 132
Location: My office

PostPosted: 22.01.2010 15:48    Post subject: PHP if (!$_POST[""]) Add user to your forum ignore list Reply with quote

Ucim PHP i malo zapinjem Smile
Radim po tutoru sa http://www.php.com.hr unos, pregled, uređivanje i brisanje vijesti.
Na bazu se spojim i sve ok, ali kod unosa vijesti javlja mi grešku: Undefined index: SBunos
Malo sam citao o $_POST-u ali nije mi bas sve jasno
Dosta pomoci sam dobio upravo ovdje, nadam se da cu i ja jednog dana doprinjeti zajednici Smile

Code:
<html>
<head>
<title>Unos vijesti</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
</head>
<body>
<h1>Unos novosti</h1>
<hr>

<?PHP
if (!$_POST["SBunos"])
{
?>

<form method="post" action="">
Naslov : <input type="text" name="naslov"><br>
Tekst : <textarea name="tekst"></textarea><br>
<input type="submit" name="SBunos" value="Pohrani">
</form>

<?PHP
} else {
include "dbspoj.php";
$datum=date("Y-m-d");
$sql="INSERT INTO novosti (naslov, tekst, datum)
VALUES ('$_POST[naslov]', '$_POST[tekst]', '$datum')";
if (mysql_query($sql))
{

echo "Novost je uspješno pohranjena";

} else {

echo "Nastala je greška pri pohrani novosti<br>" . mysql_error();
}
}
?>

</body>
</html>
Back to top
View user's profile Send private message
strija



Joined: 14 Sep 2003
Posts: 473
Location: Čakovec

PostPosted: 22.01.2010 16:57    Post subject: Add user to your forum ignore list Reply with quote

Umjesto:
Code:
if (!$_POST["SBunos"])


Stavi:
Code:
if ( ! isset($_POST["SBunos"]))


Samo nemoj tako stavljati online, jer je velika sigurnosna rupa Wink

_________________
We can exist in ambiguity, but it means the deepest loneliness. | creolab.hr | thefarewellreason.com
Back to top
View user's profile Send private message Visit poster's website
Hrvoje



Joined: 03 Sep 2004
Posts: 132
Location: My office

PostPosted: 22.01.2010 17:05    Post subject: Add user to your forum ignore list Reply with quote

Evo ga radi Laughing Hvala!
U cemu je u biti bit? Da znam za ubuduce?

Ovo radim lokalno nece biti nigdje online, tako da nema beda samo ucim Wink
Back to top
View user's profile Send private message
Moebius



Joined: 26 Jan 2004
Posts: 245
Location: zagreb

PostPosted: 22.01.2010 19:53    Post subject: Add user to your forum ignore list Reply with quote

Quote:
Samo nemoj tako stavljati online, jer je velika sigurnosna rupa

Ne razumijem, objasnis covjeku sto da napravi, ali mu dodatno sugeriras da se to tako ne radi?
Back to top
View user's profile Send private message Visit poster's website
strija



Joined: 14 Sep 2003
Posts: 473
Location: Čakovec

PostPosted: 22.01.2010 21:17    Post subject: Add user to your forum ignore list Reply with quote

Dio koji je trazio je ok. Nisam se dovoljno jasno izrazio sto mislim u vezi sigurnosti, sori Wink
Znaci nije pametno stavljati $_POST varijable direktno u query. Treba postojati neka validacija i provjera da varijabla ne bi sadzavala kod koji bi npr. mogao obrisati tabelu.

Za ucenje PHP-a je ovo ok, ja sam mislio na neku live aplikaciju.

_________________
We can exist in ambiguity, but it means the deepest loneliness. | creolab.hr | thefarewellreason.com
Back to top
View user's profile Send private message Visit poster's website
sysrq147



Joined: 01 Jan 2010
Posts: 9

PostPosted: 23.01.2010 12:26    Post subject: Add user to your forum ignore list Reply with quote

$_POST je globalna varijabla, pa kako mi se čini ne možeš ju negirati simbolom !, nije to neka funkcija koja vraća rezultata pa da to negiraš. Ona prima vrijednosti iz tih tekst polja. Tako da to što si pisao !$_POST["tralala"] i nema nekoga smisla..bar po meni. Koristi isset() funkciju koja ti govori jeli postavljena (postavljene) vrijednosti te varijable. To je ono čisto laički rečeno...jer sam laik. hehe . Pozdrav Very Happy .
Back to top
View user's profile Send private message
strija



Joined: 14 Sep 2003
Posts: 473
Location: Čakovec

PostPosted: 23.01.2010 19:30    Post subject: Add user to your forum ignore list Reply with quote

$_POST je array, i ako zelis provjeriti da li postoji neki index u arrayu koristi se isset().
Ovo sto si napisao da globalne varijable ne mozes negirati sa ! simbolom mi uopce nije jasno. Ako zelis pitati da li neka varjabla nije postavljena pitas ovako:
Code:
if ( ! isset($varijabla))

A moze i ovako:
Code:
if ( ! array_key_exists('moj_index', $moj_array))

Ja koristim uvijek isset() jer je kao prvo funkcija samo po sebi brza, a i krace je za napisat.

Iz ovog sto si napisao bas ne vidim da imas iskustva sa radom u PHP-u, pa neznam zasto pricas stvari za koje nisi provjerio da li su tocne.

_________________
We can exist in ambiguity, but it means the deepest loneliness. | creolab.hr | thefarewellreason.com
Back to top
View user's profile Send private message Visit poster's website
sysrq147



Joined: 01 Jan 2010
Posts: 9

PostPosted: 23.01.2010 23:30    Post subject: Add user to your forum ignore list Reply with quote

Ne znam, zašto si se ti našao uvrijeđen...Ja dakako nemam iskustva s tim, i moje je znanje ograničeno, jer to nije moje područije djelovanja. Ali i ti odmah pretjerano reagiraš. Ja upošte nisam rekao da je tvoje riješenje netočno, nadasve upravo se to i radi kako si ti rekao. Ali npr izraz.
Code:
if (!$neka_varijabla){...}
po mojoj logici ne bi stajala.A dali je to tako, molim te odgovori mi, jer cu nauciti nesto novo. Možda nisam bio dovoljno jasan, ali molim te pročitaj malo pažljivije i nemoj tako temperamentno reagirati. Tu sam da učim.
Back to top
View user's profile Send private message
sysrq147



Joined: 01 Jan 2010
Posts: 9

PostPosted: 24.01.2010 00:01    Post subject: Add user to your forum ignore list Reply with quote

i da se ispravim, jasno da će navedeni izraz vratiti false ako nije postavljena ta varijabla, i true ako je. Ali dali je to tako i u slucaju superglobalne, kao sto je $_POST. Ja mislim da nije, ako je molim da netko odgovori. Hvala.
Back to top
View user's profile Send private message
strija



Joined: 14 Sep 2003
Posts: 473
Location: Čakovec

PostPosted: 24.01.2010 00:35    Post subject: Add user to your forum ignore list Reply with quote

Pa nisam se uopce nasao uvrijedjen i ne vidim gdje sam to tako pretjerano reagirao. Jedina reakcija je bila na to da savjetujes da se ne moze korisiti slijedece:
Code:
if ( ! $_POST['neka_varijabla'])


Ovo je potpuno ispravno i moze se korisiti ako znas da ce biti postavljen index 'neka_varijabla'. Ako ne znas onda se koristi isset().
Jos uvijek ne razumijem o cemu tocno pricamo, zasto se na taj nacin ne bi moglo provjeriti da li je varijabla FALSE?
Izraz nece vratiti TRUE ako je npr. varijabla postavljena, a njena vrijednost je 0 ili FALSE. Znaci ponasa se kao i svaka druga varijable. To sto je super global, znaci samo da se moze procitati u bilo kojoj funkciji ili class-i, bez da se mora koristiti global.

Sori ako ti se moja reakcija cini pretjerana, stvarno nije bila namjera. Samo pokusavam shvatiti sto je tocno poanta tvojeg posta. Ja nikad ne savjetujem nekoga na forumu ako nisam 100% siguran da je savjet ispravan Wink

_________________
We can exist in ambiguity, but it means the deepest loneliness. | creolab.hr | thefarewellreason.com
Back to top
View user's profile Send private message Visit poster's website
sysrq147



Joined: 01 Jan 2010
Posts: 9

PostPosted: 24.01.2010 12:08    Post subject: Add user to your forum ignore list Reply with quote

E kvaka je u tome da ja uopšte nisam savjetovao nikoga, neko sam rekao odmah da prihvati tvoj savjet, i još nadodao da je moje mišljenje (ponavljam mišljenje - znači ne mora biti točno) da izraz
Code:
if (  !$_POST["SBunos"]) { ....}


za konkretan problem nije valjan, i to je to... Shocked
Back to top
View user's profile Send private message
strija



Joined: 14 Sep 2003
Posts: 473
Location: Čakovec

PostPosted: 24.01.2010 12:10    Post subject: Add user to your forum ignore list Reply with quote

Ma sve 5, nesporazum Wink

_________________
We can exist in ambiguity, but it means the deepest loneliness. | creolab.hr | thefarewellreason.com
Back to top
View user's profile Send private message Visit poster's website
sysrq147



Joined: 01 Jan 2010
Posts: 9

PostPosted: 24.01.2010 12:12    Post subject: Add user to your forum ignore list Reply with quote

Super, malo sam se nespretno izražavao. Važno je da si pomogao čovjeku. Very Happy
Back to top
View user's profile Send private message
Hrvoje



Joined: 03 Sep 2004
Posts: 132
Location: My office

PostPosted: 25.01.2010 00:47    Post subject: Add user to your forum ignore list Reply with quote

Hvala svima na odgovorima, skuzio sam dosta toga u biti sitnica, ali bez toga ništa Smile

Imao sam jos jedan mali problemcic sa ispisom iz baze, imao sam problem sa:

<?=$moja_varijabla?>

Kod mene nije radilo!
"echo" je rijesio problem, hvala strija Smile
Back to top
View user's profile Send private message
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Server-side All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group