[ zoligen @ 09.08.2009. 20:33 ] @
Primer iz knjige "PHP 5/MySQL Programming for the Absolute Beginner" ne radi.
Evo koda:

Code:

<html>
<head>
<title>
persistence demo
</title>
</head>
<body>
<h1>Persistence Demo</h1>
<form>
<?php
//increment the counters
$txtBoxCounter++;
$hdnCounter++;
print <<<HERE
<input type = “text”
name = “txtBoxCounter”
value = “$txtBoxCounter”>
<input type = “hidden”
name = “hdnCounter”
value = “$hdnCounter”>
<h3>The hidden value is $hdnCounter</h3>
<input type = “submit”
value = “click to increment counters”>
HERE;
?>
</form>
</body>
</html>


Ovaj programcic se nalazi na strani 116 i trebalo bi da se klikom na tipku ili svakim novim pozivom stranice uveca broj sto se ne desava.
Ova knjiga ima jos neke primere koji ne rade ( na primer kod FORM i POST ali to sam resio ) pa je ne bih preporucio pocetnicima ali kad
sam vec poceo voleo bih da je predjem. Ako neko zna u cemu je problem bio bih zahvalan na pomoci. Pozdrav

[Ovu poruku je menjao flylord dana 11.08.2009. u 10:18 GMT+1]
[ vatri @ 10.08.2009. 22:57 ] @
Cini mi se da ti je problem u ovim duplim navodnicima, probaj ih rucno napisat...
[ Man-Wolf @ 11.08.2009. 08:19 ] @
@zoligen - Knjiga ti je malo zastarela. Primer ne radi zato sto je u novijim verzijama PHP-a, po DEFAULT-u iskljucena opcija "register_globals".

Odradi kod ovako:

Code:

<html>
<head>
<title>
persistence demo
</title>
</head>
<body>
<h1>Persistence Demo</h1>
<form>
<?php
$txtBoxCounter = $_POST['txtBoxCounter'];
$hdnCounter = $_POST['hdnCounter'];

//increment the counters
$txtBoxCounter++;
$hdnCounter++;
print <<<HERE
<input type = “text”
name = “txtBoxCounter”
value = “$txtBoxCounter”>
<input type = “hidden”
name = “hdnCounter”
value = “$hdnCounter”>
<h3>The hidden value is $hdnCounter</h3>
<input type = “submit”
value = “click to increment counters”>
HERE;
?>
</form>
</body>
</html>



I pogledaj:

http://us2.php.net/manual/en/reserved.variables.post.php

EDIT:

Izmeni i FORM tag:

Code:

<form name='forma' method='POST' action='<?= $_SERVER['PHP_SELF'] ?>'>
<?php
$txtBoxCounter = $_POST['txtBoxCounter'];
$hdnCounter = $_POST['hdnCounter'];

//increment the counters
$txtBoxCounter++;
$hdnCounter++;
print <<<HERE
<input type = “text”
name = “txtBoxCounter”
value = “$txtBoxCounter”>
<input type = “hidden”
name = “hdnCounter”
value = “$hdnCounter”>
<h3>The hidden value is $hdnCounter</h3>
<input type = “submit”
value = “click to increment counters”>
HERE;
?>
</form>

[ zoligen @ 11.08.2009. 20:31 ] @
Jos uvek zeza ali bar imam putokaz. Koju bi knjigu preporucio?
Hvala na odgovoru.
[ Man-Wolf @ 12.08.2009. 09:01 ] @
Sta tacno zeza ? :-)

Preporucio bih ti (k'o sto bi ti svako drugi preporucio :P) - PHP Documentation

EDIT:

Code:

<form name='forma' method='POST' action='<?= $_SERVER['PHP_SELF'] ?>'>
<?php
$txtBoxCounter = $_POST['txtBoxCounter'];
$hdnCounter = $_POST['hdnCounter'];

//increment the counters
$txtBoxCounter++;
$hdnCounter++;
echo "<input type = “text” name = “txtBoxCounter” value = '$txtBoxCounter'>
<input type = 'hidden' name ='hdnCounter' value = '$hdnCounter'>
<h3>The hidden value is $hdnCounter</h3>
<input type='submit' value = 'click to increment counters'>
"
?>
</form>


Sad bi trebalo da radi :-)
[ AMD guy @ 12.08.2009. 13:07 ] @
Ja bih ti preporucio PHP i MySQL:
razvoj aplikacija za Web, prevod 4. izdanja
ako te vec zanimaju PHP i MySql.
[ zoligen @ 15.08.2009. 22:35 ] @
Izvinite na neozbiljnosti bavio sam se nekim drugim stvarima pa nisam navracao ovde.
Prvo ovaj primer nikako da proradi, sad kad sam ubacio ovaj poslednji deo koda daje mi:

Notice: Undefined index: txtBoxCounter in C:\Program Files\EasyPHP 3.0\www\10min\SAM SEBE\index.php on line 13
Notice: Undefined index: hdnCounter in C:\Program Files\EasyPHP 3.0\www\10min\SAM SEBE\index.php on line 14

Neznam kako da omogucim "register_globals", mozda je u tome problem.
Da li bi ti Man-Wolf mogao da napises programcic koji kod tebe radi pa da ne
gubim vreme vise.
Mozda sam malo glup ali sve ostale primere sam odradio ( promenljive, stringovi, nizovi, fajlovi) jedino gde se koristi
ovakvo pamcenje promenljive po napustanju stranice, nece da radi.
Sto se tice knjige "PHP i MySQL razvoj aplikacija za Web" ima li je negde na net-u? Nema u knjizarama a u mikro knjizi oce da me stave u neki red za cekanje
pa ako im vrate neki zaostali primerak da me obaveste.
Pozdrav!

[ Man-Wolf @ 16.08.2009. 01:16 ] @
Nemoj da ukljucujes register_globals ;)

Code:

<form name='forma' method='POST' action='<?= $_SERVER['PHP_SELF'] ?>'>
<?php
$txtBoxCounter = isset($_POST['txtBoxCounter']) ? $_POST['txtBoxCounter'] : 0;
$hdnCounter = isset($_POST['hdnCounter']) ? $_POST['hdnCounter'] : 0;

//increment the counters
$txtBoxCounter++;
$hdnCounter++;
echo "<input type = “text” name = “txtBoxCounter” value = '$txtBoxCounter'>
<input type = 'hidden' name ='hdnCounter' value = '$hdnCounter'>
<h3>The hidden value is $hdnCounter</h3>
<input type='submit' value = 'click to increment counters'>
";
?>
</form>



Note: Ukoliko ti nije jasno sta znaci ovo: $txtBoxCounter = isset($_POST['txtBoxCounter']) ? $_POST['txtBoxCounter'] : 0;
Code:


$txtBoxCounter = isset($_POST['txtBoxCounter']) ? $_POST['txtBoxCounter'] : 0; 

// je skraceni zapis od:

if (isset($_POST['txtBoxCounter']))
{
  $txtBoxCounter = $_POST['txtBoxCounter'];
else
{
 $txtBoxCounter = 0;
}


[ zoligen @ 16.08.2009. 10:32 ] @
E, sad kaze ovo.

Access forbidden!

You don't have permission to access the requested object. It is either read-protected or not readable by the server.

If you think this is a server error, please contact the webmaster.
Error 403
127.0.0.1
08/16/09 10:37:35
Apache/2.2.11 (Win32) PHP/5.2.8

Imas li jos nekog keca u rukavu ili da ovo pokusam da uradim pomocu COOKIES-a ili SESSIONS-a