/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
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

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste