frindly
Goto Top

PHP Variable einem Formular zuweisen.

Hallo,
ich möchte gerne eine PHP Variable einem Feld in einem Formular zuweisen.
<input type="hidden" name="amount" value="0.01" />
hier möchte ich gern dem "amount" einen PHP Variablenwert zuweisen.

Content-Key: 181778

Url: https://administrator.de/contentid/181778

Printed on: April 24, 2024 at 13:04 o'clock

Member: vossbaer
vossbaer Mar 12, 2012 at 09:28:41 (UTC)
Goto Top
Ich würde das so machen

<?php
$amountv = 0.01;

echo "<input type='hidden' name='amount' value='" .$amountv. "'/>";
?>
Member: frindly
frindly Mar 12, 2012 at 09:57:38 (UTC)
Goto Top
DAs ist in einem Shop,
auf Smarty basis.
Ich habe folgendes probiert:
{php}
$wert=_SESSION['cart']->total_physical[formated];

echo "<input type=hidden name=amount value=".$wert." />";
{/php}
aber es zeigt nichts an.
nur ein echo session..... zeigt mir den wert an,
also kann cih darauf zugreifen.
aber zusammensetzten klappt nicht.
Member: vossbaer
vossbaer Mar 12, 2012 at 10:07:07 (UTC)
Goto Top
Dann versuch es mit einem

input type=text

dann sollte auf jedenfall ein Textfeld erscheinen
Member: frindly
frindly Mar 12, 2012 at 10:12:49 (UTC)
Goto Top
Das funktioniert. Hier kann ich einen Wert eintragen und der wird korrekt verarbeitet.
Das Konstrukt sieht nun so aus:
{php}


echo "<input type=text name=amount value=1 />";
{/php}
aber statt der 1 muss ja eine PHP Variable rein.
sobald ich das so aufbaue:
echo "<input type=hidden name=amount value=".$wert." />"; macht er es nicht.
Aber die Punkte sind doch die korrekten Zeichen, damit er den String zusammen setzt.
Member: vossbaer
vossbaer Mar 12, 2012 at 10:23:08 (UTC)
Goto Top
Die Punkte sind die richtigen Zeichen für die String Verkettung...

Du könntest mal das einfache Anführungszeichen ' nehmen. Um die HTML Werte mit Anführungszeichen zu versehen... da Du ja die doppelten für php nutzt.

Das geht bei mir...

<?php
$test =0.01;
echo "<input type='hidden' name='test' value='" .$test. "'>";
?>

Wo kommt der Inhalt der Variablen denn her?
Member: frindly
frindly Mar 12, 2012 at 10:35:34 (UTC)
Goto Top
Die Variable kommt aus einem Shopsystem.
Es handelt sich um den Wert der Bestellung.

Ich möchte den Bestellwert an Paypal zwecks Kaubabwicklung übergeben.
Im Moment sieht der Code so aus:
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">

<input type="hidden" name="cmd" value="_xclick" />

<input type="hidden" name="business"

value="mail@web.de" />

<input type="hidden" name="item_name"

value="Shop Rechnung" />
{php}
echo $_SESSION['cart']->total_physical[formated];

$zeile="<input type=text name=amount value=".$_SESSION['cart']->total_physical[formated]." />";
echo $zeile;
{/php}


<input type="hidden" name="currency_code" value="EUR">


<input type="submit" value="Bezahlen per Paypal" />

</form>

{php}
echo $zeile;
{/php}
Beides mal wenn ich mit echo $zeile den Wert ausgeben lasse
schreibt er nur folgendes:

<span 54,74 />
wobei hier der erst Zeil in einem Formular Eingabefenster steht.
wenn ich die variable gegen eine Zahl austausche,
zb so:
$zeile="<input type=text name=amount value=5 />";
echo $zeile;
wird es korrekt angezeigt.
Member: vossbaer
vossbaer Mar 12, 2012 at 10:47:38 (UTC)
Goto Top
{php}
Wird das hier korrekt ausgegeben?
echo $_SESSION['cart']->total_physical[formated];


evtl. kommt er mit ' und " durcheinander kann man beides nutzen um eine Zeichenkette zu kennzeichnen
habe es deshalb mal so aufgelöst
$wert = $_SESSION['cart']->total_physical[formated];

zum testen
echo $wert;
mal die Anführungsstriche gesetzt
$zeile="<input type='text' name='amount' value='" .$wert. "'>";
//
echo $zeile;
{/php}


<input type="hidden" name="currency_code" value="EUR">


<input type="submit" value="Bezahlen per Paypal" />

</form>

{php}
echo $zeile;
{/php}
Beides mal wenn ich mit echo $zeile den Wert ausgeben lasse
schreibt er nur folgendes:

<span 54,74 />
wobei hier der erst Zeil in einem Formular Eingabefenster steht.
wenn ich die variable gegen eine Zahl austausche,
zb so:
$zeile="<input type=text name=amount value=5 />";
echo $zeile;
wird es korrekt angezeigt.