Kezdőoldal » Számítástechnika » Programozás » Hogyan tudok phpben egy gomb...

Hogyan tudok phpben egy gomb klikkeléssel 1et hozzá adni egy változóhoz?

Figyelt kérdés

Egy ilyen gombról lenne szó:

<a href="#" class="button">+</a>


Az interneten csak valamilyen formt insertes dolgokkal láttam megoldást nem ilyen gombal és nagyon nem értem, még kezdő vagyok.


Egy gomb megnyomásával 1et hozzá akarok adni egy értékhez és egy másik gomb megnyomásával meg kivonni 1et.



2018. jan. 16. 09:52
 1/5 anonim válasza:
86%

Ehhez nem feltétlen kell szerver oldal. Sima javascriptel kell megoldani.


De ha mindenféleképpen PHPval szeretnéd, ahhoz is kelleni fog javascript, hogy ne kelljen újra tölteni a weboldalt (Ajax)

2018. jan. 16. 10:20
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:
76%

Egy gyorsan összecsapott példa:

[link]

a lényeg a munkamenet változóban ($_SESSION) és a GET-metódusú kérésben rejlik.

2018. jan. 16. 10:55
Hasznos számodra ez a válasz?
 3/5 sharkxxx ***** válasza:
29%

Az index.php fájl tartalma:

------ ------ ------ ------

<!DOCTYPE html>

<html>

<head>

<style type="text/css">

    #buttons {

        list-style-type: none;

        padding: 0;

        -webkit-user-select: none;

        -moz-user-select: none;

        -ms-user-select: none;

        user-select: none;

    }

    #buttons li {

        display: block;

        float: left;

        margin: 1em;

        border: 1px solid blue;

    }

    #buttons li a {

        display: block;

        padding: 0.5em;

        background-color: white;

        color: blue;

    }

    #buttons li a:hover {

        background-color: blue;

        color: white;

        cursor: pointer;

    }

</style>

</head>

<body>

<h1 id="value"><?php session_start(); echo $_SESSION["counter"]; ?></h1>

<ul id="buttons">

    <li>

        <a onclick="loadDoc('update.php?doit=inc', myFunction);">+</a>

    </li>

    <li>

        <a onclick="loadDoc('update.php?doit=dec', myFunction);">-</a>

    </li>

    <li>

        <a onclick="loadDoc('update.php?doit=res', myFunction);">0</a>

    </li>

</ul>

<script>

function loadDoc(url, cFunction) {

  var xhttp;

  xhttp = new XMLHttpRequest();

  xhttp.onreadystatechange = function() {

    if (this.readyState == 4 && this.status == 200) {

      cFunction(this);

    }

  };

  xhttp.open("GET", url, true);

  xhttp.send();

}

function myFunction(xhttp) {

  document.getElementById("value").innerHTML = xhttp.responseText;

}

</script>

</body>

</html>



Az update.php fájl tartalma:

------ ------ ------ ------

<?php

    session_start();

    if(!isset($_SESSION["counter"])) {

        $_SESSION["counter"] = 0;

    }

    if (isset($_GET["doit"])) {

        switch ($_GET["doit"]) {

            case "inc":

                $_SESSION["counter"] += 1;

            break;

            case "dec":

                $_SESSION["counter"] -= 1;

            break;

            case "res":

                $_SESSION["counter"] = 0;

            break;

        }

    }

    echo $_SESSION["counter"];

?>

2018. jan. 16. 12:06
Hasznos számodra ez a válasz?
 4/5 anonim ***** válasza:
100%

#3: majdnem jó a kiegészítés, köszönöm, de, az index.php-ban én jobban szétszeparálnám a HTML-t a Javascripttől, és kiebrudalnám a PHP-részt is belőle - így maradhat szimpla HTML:

[link]


(Mondjuk éles rendszeren ezt így nem illik - az update.php-nak bármennyi kérés,bárhonnan küldhető - de most ez csak egy példa)

2018. jan. 16. 13:53
Hasznos számodra ez a válasz?
 5/5 A kérdező kommentje:

Huuuuu, de utálom a phpt, vagyis úgy mondom, hogy még nehezen megy, mert kb semmit sem tudok a nyelvről :S eddig még csak javával csináltam terminálos dolgokat :)


Köszönöm szépen a válaszokat, mindenkinek ment a like.

2018. jan. 16. 13:55

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!