Yuri: Es kommt bei dem Link kein POST-Value mit

Hallo!

Hier mein Link (ist ein Bild):

<form action="login.php" method="post" name="readdata">

<input type="hidden" name="date" value="1"/>

<a href="/giveOK.php?type=5&log=1&action=a"><img src="images/key_green.jpg" title="OK f&uuml;r ganzen Tag" border="0"/> </a>

Jetzt will ich auf der neuen Seite in PHP mit $_POST['date'] auf den Wert von dem hidden-field zugreifen. Er hat aber keinen Wert auf der Variablen! Woran kann das liegen bzw. wie kann ich das ändern?

Danke und Lg
Yuri

  1. Hallo!

    Hier mein Link (ist ein Bild):

    <form action="login.php" method="post" name="readdata">

    <input type="hidden" name="date" value="1"/>

    <a href="/giveOK.php?type=5&log=1&action=a"><img src="images/key_green.jpg" title="OK f&uuml;r ganzen Tag" border="0"/> </a>

    Schickst du die Daten mit diesem Link zur php seite?

    1. Schickst du die Daten mit diesem Link zur php seite?

      Ich weiß nicht wie das geht in PHP bzw. irgendwie anders.

      Wenn ich einen button definiere, dann sage ich type="submit", damit er die Daten schickt, aber ich weiß nicht, wie ich das in PHP mache.

      Kann ich bei dem Bild als Link auch einfach sagen, dass type="submit" ?

      Sorry bin ein Anfänger ^.^

      THX & LG

      1. Schickst du die Daten mit diesem Link zur php seite?

        Ich weiß nicht wie das geht in PHP bzw. irgendwie anders.

        Wenn ich einen button definiere, dann sage ich type="submit", damit er die Daten schickt, aber ich weiß nicht, wie ich das in PHP mache.

        Kann ich bei dem Bild als Link auch einfach sagen, dass type="submit" ?

        ja.

        <a href="#" onlick="document.formularname.submit()"><img src="bild-jpg" alt="" border="0" /></a>

        1. Irgendwie will das nicht so recht funktionieren:

          formname=readdata

          <a href="giveOK.php" onclick="document.readdata.submit()"><img src="bild.jpg" alt="" border="0" /></a>

          hab auch versucht:
          <a href="giveOK.php" onclick="this.form.submit()"><img src="bild.jpg" alt="" border="0" /></a>

          <a href="giveOK.php" onclick="readdata.submit()"><img src="bild.jpg" alt="" border="0" /></a>

          aber anscheinend bekomme ich keine Daten in meine Variable $_POST['date']

          THX & LG
          Yuri

          1. Irgendwie will das nicht so recht funktionieren:

            formname=readdata

            <a href="giveOK.php" onclick="document.readdata.submit()"><img src="bild.jpg" alt="" border="0" /></a>

            hab auch versucht:
            <a href="giveOK.php" onclick="this.form.submit()"><img src="bild.jpg" alt="" border="0" /></a>

            <a href="giveOK.php" onclick="readdata.submit()"><img src="bild.jpg" alt="" border="0" /></a>

            Also, so wie ich das sehe hast du im href einen anderen Link als im Fromular action.

            Wo sollen denn die Daten hin? Nach giveok.php. Dann muss das auch in der Action stehen. Das href lässt du dann leer.

            1. Ja stimmt ich hab bei action was anderes stehen, als das wo ich hin will. Das ist nur deshalb, weil ich verschiedene Ziele von dieser Seite aus ansteuere.

              Werds mal anders versuchen!

              THX & LG
              Yuri

              1. Öööhm wenn es ein Bild sein darf, dann nutze doch <input type="image" (...) />. Das Formular wird dann ebenfalls an "action" gesendet.
                Du solltest das Formular übrigens schließen.

  2. Hallo Yuri,

      
    
    > <form action="login.php" method="post" name="readdata">  
    >   
    > <input type="hidden" name="date" value="1"/>  
    >   
    > <a href="/giveOK.php?type=5&log=1&action=a"><img src="images/key_green.jpg" title="OK f&uuml;r ganzen Tag" border="0"/> </a>  
    
    

    Jetzt will ich auf der neuen Seite in PHP mit $_POST['date'] auf den Wert von dem hidden-field zugreifen. Er hat aber keinen Wert auf der Variablen! Woran kann das liegen bzw. wie kann ich das ändern?

    Das liegt darin, dass Du zwar ein Formular definierst, dieses aber nicht abschickst. Dadurch werden auch keine Daten an dein PHP-Skript weitergeleitet.

    Abhilfen: Entweder nutzt Du Javascript um mit deinem Link dein Formular abzusenden, oder Du benutzt einen grafischen Submit-Button, um Nutzer ohne Javascript nicht auszuschließen.

    Mit freundlichen Grüßen,
    Steffen Bruchmann

    --
    Mein Selfcode: ie:{ fl:( br:> va:) ls:& fo:| rl:( n4:& ss:| de:> js:| ch:{ mo:} zu:}
    1. Moin

      Abhilfen: Entweder nutzt Du Javascript um mit deinem Link dein Formular abzusenden, oder Du benutzt einen grafischen Submit-Button,

      oder einen einfachen Submit-Button

      um Nutzer ohne Javascript nicht auszuschließen.

      Gruß
      rfb

      --
      Man kann einen Menschen nichts lehren, man kann ihm nur helfen, es selbst zu entdecken.
      (Galileo Galilei)
  3. Hallo Yuri,

    wenn du über einen link eine neue Seite aufrufst werden die Parameter nicht über POST übergeben (da ja das Formular _nicht_ abgesendet wurde, sondern der link geklickt wurde ;-)), Sondern über GET

    Ich kann dir zwei Alternativen vorstellen (möglicherweise gibt es noch mehr - und evtl. bessere Möglichkeiten)

    1. du gibst die Daten über GET weiter, zum Beispiel,indem du als Link schreibst:
      
    <a href="www.example.org/ziel.php?daten=blabla">Bitte hier klicken</a>  
    
    

    Dann steht dir auf der Seite ziel.php die Variable $_GET['daten'] zur Verfügung (im Beispiel mit dem Inhalt 'blabla')

    1. du schickst das Formular beim click auf den link per Javascript ab
      
    <a href="www.example.org" onclick="document.forms[0].submit();return false;">Bitte hier klicken</a>  
    
    

    Diesmal hast du auf der Zielseite die daten als POST zur Verfügung.

    Bedenke aber bitte bei der zweiten Alternative, dass nicht alle Surfer javascript aktiviert haben und dass diese Vorgehensweise dann schiefgehen wird. (Bei deaktivierten javascript wird ganz normal das Ziel des Links aufgerufen, das heißt: die Variablen stehen dann _nicht_ zur Verfügung. Falls javascript aktiviert ist, wird das Formular abgeschickt und dann durch das return false verhindert, dass der link weiter verfolgt wird; die Seite wurde ja sowieso schon durch das Abschicken des Formulars verlassen).

    Liebe Grüße mbr

    Ich hoffe, das war jetzt nicht zu konfus. Falls es noch Rückfragen gibt, melde dich hier im thread nochmal.