Matthias: Knopfdruck soll Variablenwert um 1 erhöhen

hallo,

also folgendes: ich habe einen votingknopf und immer wenn wer drauf klickt, soll ein wert um 1 steigen, aber ich schaff es einfach nicht und find es einfach nicht :'-(
der wert steigt bei jedem pagerefresh und nicht beim drücken des knopfes

(ich könnte daher ja einfach machen, dass der knopf ein fenster öffnet und der wert dann in diesem fenster erhöht wird, aber das find ich doch nicht so toll)

aja und es muss unbedingt mit php gelöst werden, nicht javascript oder so

hoffentlich hilft mir wer
mfg

  1. Привет, Matthias!

    also folgendes: ich habe einen votingknopf und immer wenn wer drauf klickt, soll ein wert um 1 steigen, aber ich schaff es einfach nicht und find es einfach nicht :'-(

    Wo soll ein Wert um 1 steigen? In einer Variablen im Web-Client oder in einer Textdatei auf dem Server?

    der wert steigt bei jedem pagerefresh und nicht beim drücken des knopfes

    (ich könnte daher ja einfach machen, dass der knopf ein fenster öffnet und der wert dann in diesem fenster erhöht wird, aber das find ich doch nicht so toll)

    Neue Fenster sind in der Tat nicht toll.

    aja und es muss unbedingt mit php gelöst werden, nicht javascript oder so

    Also doch auf dem Server.

    Wo liegt jetzt dein Problem?

    Erstelle ein Post-Formular mit einem versteckten Formularfeld und einem Selbstaufruf des Scripts als action. Im PHP-Code erhöhst du dann - vorausgesetzt, das Post-Array enthält den Wert deines Formularfeldes - die Variable.

    Пока!
    Sven aus Bonn

    --
    Do it yourSELF 'cause SELFmade is bestmade.
    Selfcode: ie:% fl:( br:^ va:} ls:[ fo:) rl:( n4:{ ss:| de:> js:| ch:? mo:} zu:)
    Selfcode dekodieren - Selfcode-Info
    1. Wo liegt jetzt dein Problem?

      eindeutig müdigkeit ^^
      sooooooooo leicht war das! mann.. vielen dank für die hilfe

      1. nee ist doch nicht gelöst. bei jedem pagerefresh erhöht sich der wert, auch ohne dass ich den knopf drücke. so sieht mein formular aus:

        es ruft den kritischen befehl im sql auf, der eben den wert um 1 erhöht.

        <form name="form" method="post" action="<?PHP $morevotes=" UPDATE texte SET votes = '$voteinc' WHERE text_id = '$text_id'"; $aha=mysql_query($morevotes); ?> ">
        <input type="submit" name="votingknopf" value="voten"></form>

        der wert erhöht sich sowohl durch drücken des knopfes, als auch durch einen pagerefresh. zweiteres darf nicht sein.

        mfg

        1. <form name="form" method="post" action="<?PHP $morevotes=" UPDATE texte SET votes = '$voteinc' WHERE text_id = '$text_id'"; $aha=mysql_query($morevotes); ?>

          http://de.selfhtml.org/html/referenz/attribute.htm#form

          action "gibt einen URI (nach RFC 2396) für die Verarbeitung der Formulardaten an"

          grüße

          Heizer

          1. http://de.selfhtml.org/html/referenz/attribute.htm#form

            action "gibt einen URI (nach RFC 2396) für die Verarbeitung der Formulardaten an"

            als du die antwort geschrieben hast, hast du doch nicht ernsthaft gemeint ich würde sie verstehen oder?

            also ich verstehe sie nicht und mein problem ist noch immer nicht gelöst :(

            1. Lieber Matthias

              wenn du eine Datenbankanfrage nicht von einem URI unterscheiden kannst, dann solletest du ernsthaft noch mal von vorne beginnen. Ist nicht bös gemeint, aber das ist absolute GRUNDLAGE.

              Bei action='' gibst du eine Datei an, die die übermittelten Daten verarbeiten soll.

              Zum Verständnis:

              1. Ein Formular wird vom Server an den Browser geschicht.
              2. Der Besucher füllt das Formular aus (was bei dir entfällt, da du ja nur einen Knopf hast)
              3. Der Besucher schickt das Formular ab (an die in action='URI' angegebene URI, also an den Server)
              4. Dort werden die Daten verarbeitet, also z.B. eine Datenbank gefüttert
              5. Zurück kommt z.B. eine Bestätigung

              So wie du das schreibst, wird bei jedem Seitenaufruf der Code, der in action='' steht (aber auch irgendwo anders stehen könnte) ausgeführt. Beim Browser kommt dann eine leeres action='' an, das Formular wird an "sich selbst" geschickt.

              Was du brauchst ist etwa folgendes:

              <?
              if (isset($_GET["votingkopf"])) {
                // Hier kommt die Datenbankanfrage rein
              }
              ?>

              Das fragt ab, ob das Formular abgeschickt wurde, und führt die Datenbankanfrage nur dann aus.

              Du solltest dir im Klaren sein, was auf dem Server und was im Browser passiert.

              PHP === SERVER !!!!!!!!

              Grüße

              Heizer

              1. hallo,

                vielen dank für diese antwort. ich werde es beherzigen.

                mfg