VestaCP API for web hosting signup automation.
Posted: Fri Apr 03, 2020 2:25 am
Hello, I'm wanting to create a web hosting company with automated account creation all hosted on VestaCP software. In my signup form, my code is not working and needing a new set of eyes.
Index.html
In the following code under new account, I'm needing help. What would be the correct code for using the submission form to insert the details needed for creating an account.
action.php
I believe my issue and answer resides inside this
// New Account
$username = 'demo';
$password = 'dqwd3m0p4ssw0rd';
$email = '[email protected]';
$package = '2GB';
$fist_name = 'Test';
$last_name = 'User';
These entries are hard coded, and they need to come from the submission form, I just don't know how to do this offhand.
Thanks
Index.html
Code: Select all
<form action="action.php" method="post">
Choose Username: <input type="text" name="username"><br>
Password: <input type="password" name="password"><br>
E-mail: <input type="text" name="email"><br>
First Name: <input type="text" name="fist_name"><br>
Last Name: <input type="text" name="last_name"><br>
<input type="submit">
</form>
action.php
Code: Select all
<?php
// Server credentials
$vst_hostname = 'panel.domain.com';
$vst_username = 'admin';
$vst_password = '3skTDV5AeLtjwf%b3w';
$vst_returncode = 'yes';
$vst_command = 'v-add-user';
// New Account
$username = 'demo';
$password = 'dqwd3m0p4ssw0rd';
$email = '[email protected]';
$package = '2GB';
$fist_name = 'Test';
$last_name = 'User';
// Prepare POST query
$postvars = array(
'user' => $vst_username,
'password' => $vst_password,
'returncode' => $vst_returncode,
'cmd' => $vst_command,
'arg1' => $username,
'arg2' => $password,
'arg3' => $email,
'arg4' => $package,
'arg5' => $fist_name,
'arg6' => $last_name
);
$postdata = http_build_query($postvars);
// Send POST query via cURL
$postdata = http_build_query($postvars);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://' . $vst_hostname . ':8083/api/');
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata);
$answer = curl_exec($curl);
// Check result
if($answer == 0) {
echo "User account has been successfuly created\n";
} else {
echo "Query returned error code: " .$answer. "\n";
}
?>
I believe my issue and answer resides inside this
// New Account
$username = 'demo';
$password = 'dqwd3m0p4ssw0rd';
$email = '[email protected]';
$package = '2GB';
$fist_name = 'Test';
$last_name = 'User';
These entries are hard coded, and they need to come from the submission form, I just don't know how to do this offhand.
Thanks