php表单将数据返回到.html页面

问题描述:

这应该是一个非常简单的问题,但我无法找到一个简单的答案。我找到的所有问题都与相同的jquery有关。php表单将数据返回到.html页面

我有一个php页面接受发布数据,将它放入数组,将数组传递给api,并从api接收成功/错误。

我有一个窗体的HTML页面。当我提交表单时,它将表单数据传递给php文件。

我想要做的就是将成功/错误消息的变量返回给html文件。我不在乎页面是否重新加载,我不想要任何花哨的功能,我只是想做一个简单的测试,但忘记了我的PHP 101.任何帮助或方向引用将不胜感激。

HTML:

<div style="width: 400px; margin: 150px auto;"> 

    <form action="api3.php" method="post"> 
     <input type="text" placeholder="First Name" name="fname"><br><br> 

     <input type="text" placeholder="Last Name" name="lname"><br><br> 

     <input type="email" placeholder="Email" name="email"><br><br> 

     <input type="text" placeholder="Phone" name="phone"><br><br> 

     <select name="life"><br><br> 
     <option value="customer">Customer</option> 
     <option value="lead">Lead</option> 
     <option value="subscriber">Subsciber</option> 
     <option value="opportunity">Opportunity</option> 
     </select><br><br> 

     <input type="text" placeholder="Pizza" name="pizza"><br><br> 

     <input type="submit" value="Submit"> 

    </form> 

</div> 

PHP:

<?php 

$arr = array(
    'properties' => array (
     array(
     'property' => 'email', 
     'value' => $_POST["email"] 
     ), 
     array(
     'property' => 'firstname', 
     'value' => $_POST["fname"] 
     ), 
     array(
     'property' => 'lastname', 
     'value' => $_POST["lname"] 
     ), 
     array(
     'property' => 'phone', 
     'value' => $_POST["phone"] 
     ), 
     array(
      "property" => "lifecyclestage", 
      "value" => $_POST["life"] 
     ), 
     array(
      "property" => "pizza", 
      "value" => $_POST["pizza"] 
     ) 
    ) 
); 

$post_json = json_encode($arr); 
$hapikey = "/"; 
$endpoint1 = 'http://api.hubapi.com/contacts/v1/contact/createOrUpdate/email/' . $arr['properties'][0]['value'] . '/?hapikey=' . $hapikey; 
$endpoint2 = 'http://api.hubapi.com/contacts/v1/lists/5/add?hapikey=' . $hapikey; 
$ch = @curl_init(); 
@curl_setopt($ch, CURLOPT_POST, true); 
@curl_setopt($ch, CURLOPT_POSTFIELDS, $post_json); 
@curl_setopt($ch, CURLOPT_URL, $endpoint1); 
@curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); 
@curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$response1 = @curl_exec($ch); 
$status_code1 = @curl_getinfo($ch, CURLINFO_HTTP_CODE); 
$curl_errors1 = curl_error($ch); 

if ($status_code1 == 200) { 

    $vid = json_decode($response1, true); 

    echo $vid['vid'] . '<br><br><br>'; 

    $arr2 = array(
     'vids' => array (
      $vid['vid'] 
      ) 
     ); 

    $vids_push = json_encode($arr2); 

    @curl_setopt($ch, CURLOPT_POSTFIELDS, $vids_push); 
    @curl_setopt($ch, CURLOPT_URL, $endpoint2); 
    $response2 = @curl_exec($ch); 
    $status_code2 = @curl_getinfo($ch, CURLINFO_HTTP_CODE); 
    $curl_errors2 = curl_error($ch); 
    @curl_close($ch); 

    return $response2; 
} 

?> 

编辑:我改变了我的form.html页面.PHP。我不想分享我的代码,因为它总是会让事情变得复杂,但我只想将$ response2返回到我的form.php页面。

+1

请把你放在里面你试过这个东西 – Pritamkumar

首先你的形式,并希望得到的响应应该与.PHP

现在,例如网页,我在www.example.com/work.php有形式的页面

//Your form here 
<form> </form> 

在处理输入并从API获取响应的其他.php页面上提交表单。 在页面的末尾有两种方法可以返回数据。

  1. 使用GET 编码您的变量url和重定向页面work.php

    $ URL = “www.example.com/work.php” +“?状态=错误&消息=此是消息“; header('Location:'。$ url);

现在在work.php文件则需要使用利用这些参数,我们用URL编码

echo $_GET['status']; 
echo $_GET['message']; 
// rest of the page will be same. 
  1. 使用会话
  2. 店变量在会话中并重定向到不带参数的work.php

    $_SESSION['status'] = "error"; 
    $_SESSION['message'] = "This is message"; 
    $url = "www.example.com/work.php"; 
    header('Location: '.$url); 
    

    再次在work.php文件中显示来自会话和其余代码的数据将是相同的。

开始=>
+0

谢谢你清楚简单的回答。我无法用会话做任何事情,但我可以使用GET方法在URL中看到响应,这是我之后的所有事情。再次感谢。 – JSum

+0

欢迎和祝你好运(y) –