PHP bei Button Click variable erstellen?

7 Antworten

Du kannst keine PHP-Variablen mitten in der Laufzeit erstellen. PHP ist eine Serversprache, Javascript wird vom Client ausgeführt. Würden die beiden direkt miteinander kommunizieren können, wäre das ein gigantisches Sicherheitsproblem.

Es gibt im Prinzip zwei Möglichkeiten: Entweder eine HTML Form, oder AJAX. Empfehlen würde ich zweiteres, da du so die Seite nicht neu laden musst. AJAX sendet eine Anfrage an ein zweites PHP Script, dieses gibt die Variable zurück, AJAX empfängt diese und ist dann als Javascript Variable verwendbar - nicht als PHP Variable. Wenn du in PHP damit etwas berechnen musst, muss dies im zweiten Script passieren.

Woher ich das weiß:Berufserfahrung – Inhaber einer App-Agentur & 15+ Jahre Programmiererfahrung

Die Werte aus einem Formular findest du in deinen Zielscript in dem golbalen assoziativen Array $_POST. Gib dir einfach die vom Formular übertragenen Daten über print_r($_POST) aus. Da siehst du welche Daten der Server empfangen hat.

Wie kann ich, wenn ich auf einen Input-Button klicke, eine Variable wie z.B.: $eintrag erstellen?

So:

<!doctype html>
<title>Test</title>
<form>
<input type="hidden" name="eintrag" value=100>
<input type="submit" name="szene3" value="Szenario 3: 100 Einträge">
</form>
<?php
$eintrag = htmlspecialchars($_GET['eintrag']);
?>

Willst du diese Variable dann direkt nutzen oder erst im nächsten Schritt weiter verarbeiten?

Wenn du sie direkt nutzen möchtest solltest du JavaScript benutzen, das geht nur mit PHP / HTML nicht so ohne weiteres.

Wenn du sie erst später verwenden willst, dann kannst du die Variable in einem "hidden" Formularfeld definieren und nach dem Absenden dann wie gewohnt per $_GET oder $_POST abholen.