|
| Inkrementer og dekrementer variabel ved hj~ Fra : Ole Carlsen |
Dato : 16-11-04 22:06 |
|
Hej
Jeg skal inkrementere og dekrementere en variabel ved hjælp af 2 tryk
knapper, men hvordan gør jeg lige det?
Jeg har prøvet med følgende kode:
<?
if ($prev)
{
$tal=$tal-1;
}
if ($tal<1)
{
$tal=10;
}
if ($next)
{
$tal ++;
}
if ($tal>10)
{
$tal=1;
}
echo $tal;
?>
<form method="post" action="">
<p>
<input type="submit" name="prev" value="-1" />
<input type="submit" name="next" value="+1" />
</p>
</form>
og det virker for så vidt også bortset fra at når den har inkrementeret
eller dekrementeret én gang vil den ikke mere.
På forhånd tak
--
Ole
Skjern
| |
Morten Fangel (17-11-2004)
| Kommentar Fra : Morten Fangel |
Dato : 17-11-04 08:27 |
|
Ole Carlsen wrote:
> og det virker for så vidt også bortset fra at når den har inkrementeret
> eller dekrementeret én gang vil den ikke mere.
PHP husker ikke dens variabler side-visning til side-visning... du har
derfor 2 muligheder:
1) brug en session-variabel, dette gøres ved at, i starten af scriptet,
tilføje `session_start();`. Når du så vil gemme ting i denne session
skriver du `$_SESSION['variabel-navn'] = 'en værdi';`, og du læser på
samme måde `echo $_SESSION['variabel-navn'];`
2) tilføj et 'tal-værdi' felt til formen, således at du også submitter
det tal som du kom fra til sidst, og så arbejder videre på dette tal
næste gang...
Hvis du har brug for at se lidt inplementering, så skriv - men ellers
bare prøv dig frem ud fra det jeg har skrevet..
Morten Fangel - aka "fangel"
| |
Ole Carlsen (17-11-2004)
| Kommentar Fra : Ole Carlsen |
Dato : 17-11-04 22:47 |
|
Morten Fangel wrote:
> Hvis du har brug for at se lidt inplementering, så skriv - men ellers
> bare prøv dig frem ud fra det jeg har skrevet..
Det gør jeg men det med session_start(); gave mig en fejl, så jeg endte
op i at udvide med et 'rullegardin' indeholdende mine værdier og det ser
ud til at kunne gøre det for nu.
--
Ole
Skjern
| |
Morten Fangel (18-11-2004)
| Kommentar Fra : Morten Fangel |
Dato : 18-11-04 18:22 |
|
Ole Carlsen wrote:
> Morten Fangel wrote:
>
>> Hvis du har brug for at se lidt inplementering, så skriv - men ellers
>> bare prøv dig frem ud fra det jeg har skrevet..
>
> Det gør jeg men det med session_start(); gave mig en fejl,
Jeg vil gætte på at dette var "Cannot add header infomation at fil:linie
(output already started at fil:linie)"
Den skyldes opbygningen af HTTP-protokollen, da alle headere skal komme
før alt output - dvs noget ""den for php", eller nogle
echo/print/lignene kald.
Måden fejlen afhjælpes på er at omstrukturere sit script, således at
session_start() kommer helt i toppen..
> så jeg endte
> op i at udvide med et 'rullegardin' indeholdende mine værdier og det ser
> ud til at kunne gøre det for nu.
Også en udemærket løsning..
Morten
| |
Ole (18-11-2004)
| Kommentar Fra : Ole |
Dato : 18-11-04 21:56 |
|
Morten Fangel wrote:
> Jeg vil gætte på at dette var "Cannot add header infomation at fil:linie
> (output already started at fil:linie)"
Lige nøjagtig
> Måden fejlen afhjælpes på er at omstrukturere sit script, således at
> session_start() kommer helt i toppen..
Det vil jeg lige notere og måske prøve senere!
--
Ole
Skjern
| |
|
|