I created a form like this, How should I do so that the value of the form field is entered into the php data array?
Expected that the value of the submitted data is entered into this line:
$customer_details = array(
'first_name' => "value input first_name",
'email' => "value input email",
'phone' => "value input phone"
);
form input:
<form>
<label>Name:</label>
<input name="first_name" type="text" maxlength="50"><br>
<label>Phone:</label>
<input name="phone" type="text" maxlength="100"><br>
<label>Email:</label>
<input name="email" type="text" maxlength="100"><br><br>
<button id="pay-button">Pay!</button>
</form>
The php code and html form are in 1 file.
Your form needs 2 attributes (action, method) and your button needs 1 (type) :
<form action="#" method="GET">
<label>Name:</label>
<input name="first_name" type="text" maxlength="50"><br>
<label>Phone:</label>
<input name="phone" type="text" maxlength="100"><br>
<label>Email:</label>
<input name="email" type="text" maxlength="100"><br><br>
<button type="submit" id="pay-button">Pay!</button>
</form>
So the submit button will handle the form using the same page.
You can check if the form is handled using this :
if(isset($_GET['name'])) {
//use your form
}
Then you have an existing array $_GET. You can access your datas using the name of your input (ex : $_GET['first_name']).
If you want to use your $customer_array, then :
$customer_details = array(
'first_name' => $_GET['first_name'],
'email' => $_GET['email'],
'phone' => $_GET['phone']
);
UPDATED
The final result should be :
if(isset($_GET['name'])) {
$customer_details = array(
'first_name' => $_GET['first_name'],
'email' => $_GET['email'],
'phone' => $_GET['phone']
);
//Any other treatment...
} else {
<form action="#" method="GET">
<label>Name:</label>
<input name="first_name" type="text" maxlength="50"><br>
<label>Phone:</label>
<input name="phone" type="text" maxlength="100"><br>
<label>Email:</label>
<input name="email" type="text" maxlength="100"><br><br>
<button type="submit" id="pay-button">Pay!</button>
</form>
}