Variable inkrementieren über Hyperlink
Michael
- php
0 André Laugks0 Michael
0 RolandG
Hallo,
wie in der Überschrift bereits schon erwähnt, versuche ich eine Variable über einen Hyperlink zu inkrementieren. Bisher erfolglos! Wahrscheinlich liegts an meinem mäßigen PHP-Wissen...
Was ich bisher probiert habe:
<html>
<head>
<?php
if(true == $_GET['clicked'])
{
$vari++;
}
var_dump($vari);
?>
</head>
<body><br>
<a href="test.php?clicked=true">hyperlink</a>
</body>
</html>
würde mich sehr freuen wenn mir dies bzgl. ein PHP "crack" weiter helfen könnte. Danke!
Gruß
Michael
Hallo!
<html>
<head>
<?php
if(true == $_GET['clicked'])
{
$vari++;
}var_dump($vari);
?>
</head><body><br>
<a href="test.php?clicked=true">hyperlink</a>
</body></html>
Bei jedem neuen Aufruf der Seite wir $vari = 1. Das Stichwort ist Session.
André Laugks
--
Die Frau geht, die Hilti bleibt!
Hi,
Bei jedem neuen Aufruf der Seite wir $vari = 1. Das Stichwort ist Session.
ok. Könntest du mir ein kleines Codebeispiel als einführung dazu zeigen, wenn es keine zu großen Umstände macht?
Gruß
Michael
Hallo Michael,
Bei jedem neuen Aufruf der Seite wir $vari = 1. Das Stichwort ist Session.
ok. Könntest du mir ein kleines Codebeispiel als einführung dazu zeigen, wenn es keine zu großen Umstände macht?
Arbeite die Session-Referenz im PHP-Handbuch durch, siehe das erste Beispiel.
Freundliche Grüße
Vinzenz
Hallo,
bin jetzt zwar auch nicht ganz firm in PHP aber zwei Punkte, die ich als potentielle Ursachen ansehe:
1. Die Variable könnte lokal deklariert sein und somit bei jedem Seitenaufruf neu initialisiert werden. Dann ist natürlich nix mit inkrementieren.
Lösungsansatz: Global deklarieren oder Variablwert immer mit übergeben.
2. Der Vergleich in der if-Abfrage sieht merkwürdig aus. Aus dem Bauch heraus würde ich die Reihenfolge der Operanden tauschen.
Roland
Hallo,
wie in der Überschrift bereits schon erwähnt, versuche ich eine Variable über einen Hyperlink zu inkrementieren. Bisher erfolglos! Wahrscheinlich liegts an meinem mäßigen PHP-Wissen...
Was ich bisher probiert habe:
<html>
<head>
<?php
if(true == $_GET['clicked'])
{
$vari++;
}var_dump($vari);
?>
</head><body><br>
<a href="test.php?clicked=true">hyperlink</a>
</body></html>
>
> würde mich sehr freuen wenn mir dies bzgl. ein PHP "crack" weiter helfen könnte. Danke!
>
> Gruß
> Michael
Hi,
- Die Variable könnte lokal deklariert sein und somit bei jedem Seitenaufruf neu initialisiert werden. Dann ist natürlich nix mit inkrementieren.
mich würde viel mehr stören, dass sie im Beispiel überhaupt nicht initialisiert wird. Sie taucht an irgendeiner Stelle plötzlich im Code auf, um inkrementiert zu werden. PHP ist so gnädig, sie in diesem Moment neu anzulegen und ihr zunächst den Wert 0 zu geben, bevor er auf 1 erhöht wird.
- Der Vergleich in der if-Abfrage sieht merkwürdig aus. Aus dem Bauch heraus würde ich die Reihenfolge der Operanden tauschen.
Die Formulierung
if (KONSTANTE==variable)
ist tatsächlich ungewöhnlich, aber sehr schlau. Vertippt man sich nämlich mal im Eifer des Gefechts und schreibt '=' anstelle von '==', dann merkt man das sofort, weil PHP eine Fehlermeldung auswirft - einer Konstanten kann mit dem Zuweisungsoperator kein neuer Wert zugewiesen werden. Steht dagegen die Variable links, wird aus dem Vergleich, den man eigentlich gemeint hat, eine syntaktisch völlig korrekte Zuweisung. Das sind dann gemeine und unauffällige Fehler, die man u.U. lange sucht.
Und bei einer Prüfung auf Gleichheit ist die Reihenfolge der Operanden ja egal ...
Hallo,
wie in der Überschrift bereits schon erwähnt, ...
Und bitte kein TOFU, danke sehr.
Ciao,
Martin