PHP Wie Funktion erst ausführen wenn Button geklickt wird?

2 Antworten

Nur mit PHP kannst du keine (Click-)Events catchen


MrCommandBlock  31.08.2020, 22:15

deshalb hat er ja das Isset, um beim nächsten Seitenaufruf mit dem Parameter den Code ausführen zu können. Das ist vom Prinzip her schon funktional.

1

Also dein rudimentärer Code ist vom Prinzip schon richtig und wenn du es so machst, wird dein UPDATE auch erst dann aufgerufen, wenn das Formular abgeschickt wurde.

Zeig doch mal den echten Code.

Woher ich das weiß:Berufserfahrung – Entwickle seit > 20 Jahren Anwendungen mit PHP.

xxlolxx283 
Fragesteller
 31.08.2020, 22:21

Der ganze Code:

if`($test) {
echo '<input type="submit" name="doit" value="Ausführen"/>';

} else {
echo "Geht nicht"
}

if(isset($_POST["doit"])) {
    $userid = $_SESSION['userid'];
    $statement = $pdo->prepare("UPDATE `table` SET `123` = `123` + 2 WHERE id  = :id");
    $result = $statement->execute(array('id' => trim($userid)));
    $user = $statement->fetch();

}

Beim Seitenaufruf wird das UPDATE trotzdem aufgerufen

0
Babelfish  01.09.2020, 00:46
@xxlolxx283

Was soll das hier sein?

if`($test) {

Das ` gehört da nicht hin und sollte zu einer Fehlermeldung führen.

Dein if (isset($_POST["doit"])) { ist aber erst mal korrekt und die Bedingung wird nur aufgerufen, wenn ein POST-Request mit doit aufgerufen wird.

Wenn dein UPDATE trotzdem aufgerufen wird, ist der Code nicht vollständig oder du rufst nicht die Datei auf, die du bearbeitest. Durch das ` sollte das Script nämlich gar nicht funktionieren.

0