php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Übergabe dynamisch erzeugter Formularfeldwerte an PHP


 
schurdi
22-09-2015, 15:25 
 
Hi,
ich bin absoluter PHP newbie und tüftle gerade daran, die mit jQuery erzeugten dynamischen Formularfelder bzw. deren Werte mit PHP per E-Mail zu verschicken. Leider schaffe ich es nicht bzw. fehlt mir jegliches Know-how, dies umzusetzen. Normale Felder sind kein Problem, Mails versende ich mit PHPmailer.

Mein Formular baut auf der Vorlage "Adding fields with different names (http://formvalidation.io/examples/adding-dynamic-field/)" von formvalidation.io auf, wo die Formularfelder Namen besitzen wie folgt:

<form id="bookForm" method="post" class="form-horizontal">
<div class="form-group">
<label class="col-xs-1 control-label">Book</label>
<div class="col-xs-4">
<input type="text" class="form-control" name="book[0].title" placeholder="Title" />
</div>
<div class="col-xs-4">
<input type="text" class="form-control" name="book[0].isbn" placeholder="ISBN" />
</div>
<div class="col-xs-2">
<input type="text" class="form-control" name="book[0].price" placeholder="Price" />
</div>
<div class="col-xs-1">
<button type="button" class="btn btn-default addButton"><i class="fa fa-plus"></i></button>
</div>
</div>

Bisher konnte ich quasi nur immer den letzten Wert eines Arrays ausgeben, ich weiß nicht, wie man den Punkt in "book[0].title" angeben muss, wie gesagt, ich habe keine Ahnung.. :confused:

Dankbar für jede Hilfestellung!

Beste Grüße
Schurdi

 
fireweasel
23-09-2015, 23:36 
 
Bisher konnte ich quasi nur immer den letzten Wert eines Arrays ausgeben, ich weiß nicht, wie man den Punkt in "book[0].title" angeben muss,

PHP hat eine seine eigene Vorstellung von der Verarbeitung von POST- oder GET-Variablen. Mit eckigen Klammern erzeugt man auf der Server-Seite (da wo PHP arbeitet) automatisch Arrays. Die Syntax, die du verwendest muss sich also an der von PHP (http://docs.php.net/manual/en/language.types.array.php#language.types.array.syntax.accessing) anlehnen. Verschachtelungen funktionieren dann wie in gewöhnlichem PHP-Quellcode (nur ohne Hochkommas):

<input name="book[0][title]" value="default" />

Der Dot-Operator hat in PHP eine andere Bedeutung als in den meisten C-Syntax-ähnlichen-Sprachen (https://en.wikipedia.org/wiki/Composite_data_type#Member_access): Er verknüpft mehrere Zeichenketten (http://docs.php.net/manual/en/language.types.string.php#language.types.string.useful-funcs). In POST|GET-Variablen (http://docs.php.net/manual/en/language.variables.external.php) wird er durch Unterstriche ersetzt. Weiterhin baut PHP aus solchen Werten immer Arrays, aber keine Objekte.

wie gesagt, ich habe keine Ahnung.. :confused:


PHP: PHP Manual - Manual (http://docs.php.net/manual/en/index.php)


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:32 Uhr.