PHP Variable + String zusammenführen

  • Ersteller Ersteller AppZ
  • Erstellt am Erstellt am
A

AppZ

Gast
Moin,

ich schreibe grad eine Abfrage, in der ich den zusammengesetzten Name eines Submit in eine Variable schreiben möchte.

<input type="submit" name="editbutton<?php echo $var['ID']?>" value="Bearbeiten">

Der Name des Submit-Buttons setzt sich aus editbutton + der ausgelesenen ID zusammen.

<?php
$var2=$_POST['editbutton' . $var['ID']];
echo $var2;
?>

In $var2 soll nun dieser zusammengesetzte Name in eine Variable geschrieben werden. Dies funktioniert leider in keinster Weise.
Hat jemand einen Tipp für mich wie das ganze klappen kann?
 
Zuletzt bearbeitet von einem Moderator:
Echo Debuging!

Guck was im POST nach dem Abschicken steht.
Guck ob nach dem Request überhaupt die Variable "$var['ID']" vorhanden bzw. nicht leer ist.

Grundsätzlich sollte man Variablen niemals "var" nennen^^ sie sollten sprechbar sein.
POST-Variable direkt auslesen ist nicht zu empfehlen weil einschleusen von bösem Code ein einfaches ist.

Edit: WAS genau hast du eigentlich vor?
Willst du etwas eine Fall-Unterscheidung anhand des Submit-Button-Namens?
 
Zuletzt bearbeitet:
Über eine if schleife werden mehrere buttons erstellt, ich möchte unterscheiden können welcher Button geklickt wird. Deswegen wollte ich die ID mit in den Namen schreiben und dann den entsprechenden PHP code in der selben if abfrage generieren.
Das echo §partyübergabe soll den wert ausspucken, es passiert aber ebend nichts, es wird kein Wert ausgegeben. Daraus schließe ich dass in den oben geposteten Code-Stücken ein Fehler vorhanden ist.

Die Variablen-Namen sind eigentlich andere, habe diese für das Posting abgeändert.

Ich möchte also eigentlich nur den Namen des Submits in der Variable stehen haben. Und der Name setzt sich halt aus den 2 Elementen zusammen und ich glaube dass da ein Syntax Fehler ist, finde ihn aber nicht.
 
ungetestet, aber so könnte es in etwas funktionieren:

PHP:
<input type="submit" name="editbutton[]" id="knopf1" value="Bearbeiten">
<input type="submit" name="editbutton[]" id="knopf2" value="Bearbeiten">
<input type="submit" name="editbutton[]" id="knopf3" value="Bearbeiten">

und dann schau dir dein output an:
PHP:
var_dump($_POST['editbutton']);
 
die if schleife funktioniert, anderer Code der in der If-Schleife steht funktioniert perfekt, es funktioniert lediglich dieses Bruchstück nicht.
Beim unteren Teil habe ich vergessen die Variable zu ändern. Habe oben den Text editiert.

Ich probiere gleich mal eure genannten Lösungsansätze.

EDIT:
Der Lösungsansatz mit der ID in der die Variable Nummer steht funktioniert leid ernicht, weil ich keine Möglichkeit finde mit PHP diese ID auszulesen.
Der Zweite Ansatz mit dem Substring gibt mir einen Fehler aus "substr() expects parameter 1 to be string, array given in..."
 
Zuletzt bearbeitet von einem Moderator:
Stimmt, ist eine For-Schleife *Kopf->Tisch*

Hmh, bei deine rLösung liegt ein Syntax-Fehler vor, kann das sein?
 
Zuletzt bearbeitet von einem Moderator:
php version 5.4.7

zu alt?
erstmal schon vielen Dank für diene ganze Hilfestellungen :)

Jetzt gibt der Code keinen Fehler mehr aus, Syntax läuft also. Als Ergebnis kommt aber immer 0 raus.
Wenn ich aber die $varID als echo ausgebe, kommt die richtige ID raus.
 
Die PHP Version ist TOP!

Ein simples Echo Debuging würde reichen um den Fehler in wenigen Minuten zu finden.
Mach an wichtigen Punkten VOR bzw. NACH einer Berechnung o.ä. eine Ausgabe um zu sehen was genau in den jeweiligen Variablen drin steht.

"Blind" kommt keiner weiter.
 
Nachdem ich jetzt 2 Stunden lang rumgetestet habe, habe ich meinen Button mal aus dem Skript raus genommen und versucht in einer leermaske laufen zu lassen. Das Ergebni sist, dass der Button nicht funktioniert und ich keine AHnung habe wieso.

Ich such ejetzt erstmal Fehle rbevor ich mich mit dem anderen Problem beschäftige...

Ist es möglich eine PHP Variable aus einer PHP Variable zu erstellen? Also im Namen der Variable soll eine Variable vorkommen.

Ich stelle mir das ungefähr so vor.
$var ID wäre z.B. 5

$var2.$var['ID'] = Irgendwas.

Die Variable soll dann $var5 heißen mit dem Inhalt Irgendwas. Geht das? Wie verknüpfe ich den Namen der Variable mit einer bereits gefüllten Variable?
 
Zuletzt bearbeitet von einem Moderator:
Ich weiß jetzt nicht, ob das das gesuchte ist, aber Arrays sind dir bekannt?
Code:
$array=array();
$name='Blah blub';
$array[$name]='Hallo';
Willst du tatsächlich eine Variable mit einem variablen Namen erstellen, such mal nach $GLOBALS, aber ehrlich, das ist echt saumäßig schlechter Stil.
 
Das Problem ist dass cih mit einer For-Schleife verschiedene ID's aus einer Datenbank auslese und für jede ID einen Button erstellen muss. Mir fällt momentan aber keine andere Lösung ein um die Buttons dann so außeinanderhalten zu können, dass ich jeden Button genau zuordnen kann.

Ich experimentiere momentan mit vielen Lösungsansätzen, wenn dir ein anderer einfällt bin ich sehr dankbar ;)
 
Bau die Strings ("Button".$varId) in einer temporären Variable zusammen, bevor du sie verwendest. hilft wirtschaften... Und ansonsten gilt eben trotzdem: Echo-Testing, Echo-Testing, Echo-Testing. Oder besser: print_r($variable);exit;
 
Overkill... Theoretisch funktioniert das wunderbar, wenn man Name, ID und Value des Buttons per PHP aus nem Sammelbegriff und ner eindeutigen ID zusammen baut.
 
Zurück
Oben