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

  • Gruentee
    hat ein Thema erstellt [Erledigt] Javascript Variable in PHP ausgeben.

    [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

  • Gast-Avatar
    Ein Gast antwortete
    Zitat von Gruentee Beitrag anzeigen
    Thread kann geclosed werden
    wir klicken hier auf erledigt, und das macht der TE schön selbst.

    Einen Kommentar schreiben:


  • Gruentee
    antwortet
    Thread kann geclosed werden

    Einen Kommentar schreiben:


  • Gruentee
    antwortet
    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!

    Einen Kommentar schreiben:


  • monolith
    antwortet
    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; 
    }

    Einen Kommentar schreiben:


  • Durin
    antwortet
    @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.

    Einen Kommentar schreiben:


  • monolith
    antwortet
    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"?

    Einen Kommentar schreiben:


  • Durin
    antwortet
    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.

    Einen Kommentar schreiben:


  • monolith
    antwortet
    $_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 .

    Einen Kommentar schreiben:


  • Gruentee
    antwortet
    Das ist ja nur zum test wollte es erst mal mit nur einem Button ausprobieren

    Einen Kommentar schreiben:


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


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

    Einen Kommentar schreiben:


  • Gruentee
    antwortet
    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>"

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    stimmt mermshaus, könnte man ihm ja den link schicken:

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

    Einen Kommentar schreiben:


  • mermshaus
    antwortet
    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.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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>"

    Einen Kommentar schreiben:

Lädt...
X