Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Javascript Variable in PHP ausgeben

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Javascript Variable in PHP ausgeben

    meine PHP Seite:
    PHP-Code:
    $d2=0;
    $d2=$d2+$_GET['name'];
    echo 
    "<button  name=\"yo\" onClick=\"lock($d2);\" >Waschen</button>";
    echo 
    "<button  name=\"yo\" onclick=\"lock($d2);\" >Putzen</button>";
    echo 
    "<button name=\"yo\" onclick=\"lock($d2);\" >K&uuml;hlschrank</button>";
    echo 
    "<br>";
    echo 
    "<br>";
    echo 
    "<p>Kosten: $d2</p>"
    JavaScript Datei
    Code:
    function lock(k1) { 
      var d1;
    
       d1 = 22.99+k1;
       window.location.href = "1.php?name=" + d1; 
    }

    Nun mein Problem ist folgende immer wenn ich die Seite aufrufe steht da

    Notice: Undefined index: name

    und nun wollte ich wissen wie ich es schaffe den Inhalt einer Variable von JavaScript zu PHP zu senden.


    Mit freundlichem Gruß

    Grüntee


  • #2
    senden?
    GET/POST?
    also ajax?

    das willste a´ber gar nicht, du willst wohl:
    PHP-Code:
    echo "<button  name=\"yo\" onclick=\"lock(" .$d2 .");\" >Putzen</button>"

    Kommentar


    • #3
      Zitat von Gruentee Beitrag anzeigen
      Nun mein Problem ist folgende immer wenn ich die Seite aufrufe steht da

      Notice: Undefined index: name
      Du meinst, immer wenn du die Seite als "1.php" im Browser aufrufst, statt auf einen Button zu klicken. Das ist aber bloß logisch.

      Was soll das denn werden?

      Ich habe das Gefühl, du verwechselst serverseitig und clientseitig.

      Kommentar


      • #4
        stimmt mermshaus, könnte man ihm ja den link schicken:

        http://php-de.github.io/jumpto/affenformular/

        Kommentar


        • #5
          Also was ich versuche zu erzielen ist folgende wir haben die Variable $d2, und 3 Verschiedene Button

          Button 1 soll die Variable $d2 um 10 addieren
          Button 2 soll die Variable $d2 um 20 addieren
          Button 3 soll die Variable $d2 um 30 addieren

          und das Ergebnis soll dann immer dort ausgegeben werden
          PHP-Code:
          echo "<p>Kosten: $d2</p>"

          Kommentar


          • #6
            [QUOTE][PHP]$d2=@intval($_GET['name']);
            echo


            //Das Forum hat irgendein Problem mit dem Zeichensatz?!?!?

            Kommentar


            • #7
              Das ist ja nur zum test wollte es erst mal mit nur einem Button ausprobieren

              Kommentar


              • #8
                $_GET ist ein Array. Woher soll denn ein Wert mit dem Index "name" kommen wenn die Seite das erste Mal aufgerufen wird? Eben, den kann es nicht gebe naußer du hängst einen Parameter an die URL: 1.php?name=test

                Also nutze isset() um zu prüfen ob $name gesetzt wurde.

                Grundsätzlich funktioniert dein Weg über location.href ja durchaus. Den Wert einer JS-Variable als URL-Parameter zu übergeben ist auch absolut in Ordnung. Du könntest allerdings auch ein Form benutzen statt location.href .

                Kommentar


                • #9
                  Du addierst aber immer gleich viel, nämlich $d2+22.99, und $d2 ist von sich selbst abhängig. Ganz unabhängig davon ob das jetzt nur eim Button ist oder nicht.

                  Kommentar


                  • #10
                    Zitat von Durin Beitrag anzeigen
                    Du addierst aber immer gleich viel, nämlich $d2+22.99, und $d2 ist von sich selbst abhängig. Ganz unabhängig davon ob das jetzt nur eim Button ist oder nicht.
                    Also er erhöht diese Variable - aber nicht um 10/20/30... KA wo da das Problem liegt. Das ist nun wirklich trivial, das ist Grundschul-Mathematik und auch die Umsetzung ist im Grunde mit Mathematikkenntnissen möglich.

                    PHP-Code:
                    <!DOCTYPE html>
                    <html>
                    <head>
                        <title>Test</title>
                    </head>
                    <body>
                        <?php
                            $d2
                    =0
                            if (isset(
                    $_GET['name'])) {
                                
                    $d2=$d2+$_GET['name']; 
                            }
                            echo 
                    "<button  name=\"yo\" onClick=\"lock($d2, 10);\" >Waschen</button>"
                            echo 
                    "<button  name=\"yo\" onclick=\"lock($d2, 20);\" >Putzen</button>"
                            echo 
                    "<button name=\"yo\" onclick=\"lock($d2, 30);\" >K&uuml;hlschrank</button>"
                            echo 
                    "<br>"
                            echo 
                    "<br>"
                            echo 
                    "<p>Kosten: $d2</p>";
                        
                    ?>
                        <script type="text/javascript">
                            function lock(a, b) { 
                               window.location.href = "1.php?name=" + (a + b); 
                            }
                        </script>
                    </body>
                    </html>
                    PS: Wieso heißt ein Parameter der eine Zahl weitergibt "name"? Warum heißt dafür dann eine PHP_Datei "1.php"? Warum heißt die JS-Funktion "lock"? Warum heißen (gleich mehrere!) Buttons "yo"? Und warum heißt eine Variable "$d2"?

                    Kommentar


                    • #11
                      @monolith Das Original hab ich noch gesehen, rechnen kann ich nämlich tatsächlich

                      Oder, wie weiter oben am JS-editieren gescheitert, warum auch immer:

                      PHP-Code:
                      $d2 = @intval($_GET["name"]); 
                      Ist zwar nicht so sauber, aber kürzer.

                      Kommentar


                      • #12
                        Besser wäre natürlich, du verabschiedest dich von dem in diesem Fall unnötigen JS-Ansatz:
                        PHP-Code:
                        <!DOCTYPE html>
                        <html>
                        <head>
                            <title>Test</title>
                        </head>
                        <body>
                            <?php
                                $var 
                        0;
                                if (isset(
                        $_GET['var'])) {
                                    
                        $var = (int) $_GET['var']; 
                                }
                                echo 
                        '<a href="1.php?var='.($var 10).'">Waschen</a>'
                                echo 
                        '<a href="1.php?var='.($var 20).'">Putzen</a>'
                                echo 
                        '<a href="1.php?var='.($var 30).'">K&uuml;hlschrank</a>'
                                echo 
                        "<br>"
                                echo 
                        "<br>"
                                echo 
                        "<p>Kosten: $var</p>";
                            
                        ?>
                        </body>
                        </html>
                        Mit CSS kannst du die Links so stylen dass sie optisch wie Buttons aussehen.

                        Beispiel:
                        Code:
                        a { 
                            display: inline-block; 
                            margin-right: 10px; 
                            padding: 5px 10px; 
                            border: 1px solid silver; 
                            border-radius: 3px; 
                            background-color: #EEE; 
                            text-decoration: none; 
                            color: black; 
                        }

                        Kommentar


                        • #13
                          Zitat von monolith Beitrag anzeigen
                          Also er erhöht diese Variable - aber nicht um 10/20/30... KA wo da das Problem liegt. Das ist nun wirklich trivial, das ist Grundschul-Mathematik und auch die Umsetzung ist im Grunde mit Mathematikkenntnissen möglich.

                          PHP-Code:
                          <!DOCTYPE html>
                          <html>
                          <head>
                              <title>Test</title>
                          </head>
                          <body>
                              <?php
                                  $d2
                          =0
                                  if (isset(
                          $_GET['name'])) {
                                      
                          $d2=$d2+$_GET['name']; 
                                  }
                                  echo 
                          "<button  name=\"yo\" onClick=\"lock($d2, 10);\" >Waschen</button>"
                                  echo 
                          "<button  name=\"yo\" onclick=\"lock($d2, 20);\" >Putzen</button>"
                                  echo 
                          "<button name=\"yo\" onclick=\"lock($d2, 30);\" >K&uuml;hlschrank</button>"
                                  echo 
                          "<br>"
                                  echo 
                          "<br>"
                                  echo 
                          "<p>Kosten: $d2</p>";
                              
                          ?>
                              <script type="text/javascript">
                                  function lock(a, b) { 
                                     window.location.href = "1.php?name=" + (a + b); 
                                  }
                              </script>
                          </body>
                          </html>
                          PS: Wieso heißt ein Parameter der eine Zahl weitergibt "name"? Warum heißt dafür dann eine PHP_Datei "1.php"? Warum heißt die JS-Funktion "lock"? Warum heißen (gleich mehrere!) Buttons "yo"? Und warum heißt eine Variable "$d2"?
                          Vielen Dank hast mir sehr geholfen!

                          Kommentar


                          • #14
                            Thread kann geclosed werden

                            Kommentar


                            • #15
                              Zitat von Gruentee Beitrag anzeigen
                              Thread kann geclosed werden
                              wir klicken hier auf erledigt, und das macht der TE schön selbst.

                              Kommentar

                              Lädt...
                              X