Phisher: Sessions

Hallo,

Ich glaub ich verstehe es einfach nicht wie diese blöden Sessions funktionieren!

Ich möchte einfach nur eine Variable die innerhalb meiner Session verfügbar ist. Einen Counter um Spam zu unterbinden

<?
session_start();

...

if (empty($error)) // Keine Probleme mit POST-Variablen..
{
  /* ... datenbank eintrag ... */

$spamcount = $_SESSION["spamcount"];
  session_unregister("spamcount");
  session_register("spamcount");
  $spamcount = $spamcount+1;
  $_SESSION["spamcount"] = $spamcount;
}

?>

ich möchte, dass der User das Formular 3-4 mal nutzen kann, aber danach die Funktion unterbunden wird.

if ($_SESSION["spamcount"] >= 4)

aber irgendwie speichert das Script so garnix..
Warum und wie macht man das Professionell?

Danke

|Phisher|

  1. Grüße,| Hallo,

    Ich glaub ich verstehe es einfach nicht wie diese blöden Sessions funktionieren!

    Ich möchte einfach nur eine Variable die innerhalb meiner Session verfügbar ist. Einen Counter um Spam zu unterbinden

    <?
    session_start();

    ...

    if (empty($error)) // Keine Probleme mit POST-Variablen..
    {
      /* ... datenbank eintrag ... */

    $spamcount = $_SESSION["spamcount"];

    hatte die sessiobvariable "spamcount" davor einen wert?

    session_unregister("spamcount");

    k die varibale wird nciht gespeichert

    session_register("spamcount");

    doch noch?

    $spamcount = $spamcount+1;

    hat vermutluch wert 1 - immer

    $_SESSION["spamcount"] = $spamcount;

    das ist 2er durchlauf - wilslt du der variable nicht shocn beim ersten eine wert zuweisen? und wozu das "umregistrieren" der variable inzwischen?

    MFG
    bleicher

    --
    __________________________-
    Menschen an sich , sind nicht schlecht - es sind nur ihre Taten (c).
    Lieber bereuen gesündigt zu haben, als nicht sündigen und es später trotzdem bereuen.
    Boccaccio
  2. echo $begrüßung;

    Ich glaub ich verstehe es einfach nicht wie diese blöden Sessions funktionieren!

    Blöde Sessions funktionieren wie normale Sessions auch. Da gibt es keinen Unterschied.

    Im Allgemeinen benötigst du für Sessions ein sessions_start() und greifst dann nun noch auf $_SESSION zu. Registrieren und dergleichen sind veraltete Funktionen, die du schon seit vielen Versionen PHPs nicht mehr benötigst.

    Weiterhin ist es sinnvoll, beim Entwickeln das error_reporting auf E_ALL zu stellen, denn damit werden dir Zugriffe auf nicht initialisierte Variablen angezeigt. Das ist eine sehr häufige Fehlerquelle. Ebenso soltest du dir bei Ungewissheiten den aktuellen Inhalt von Variablen mittels Kontrollausgaben anzeigen lassen. Dazu reicht manchmal ein einfaches echo, machmal braucht man var_dump(), und print_r() für Arrays ist auch noch hilfreich.

    echo "$verabschiedung $name";