2016-04-28 111 views
-1

我有一个表单,其中包含一个下拉列表,当用户提交信息时,它会被提交给PHP页面。现在基于用户在下拉列表中选择的响应,我创建了另一个表单,并试图提交信息。我的问题是,是否有可能在php文件中有post方法?PHP解析错误:语法错误,意外'post'

HTML

<form method="post" name="project_form" action="php/harvest_clientproject.php"> 
Client Name: 
         <select id="clt" name="client_name"> 
<option value="A">Client A</option> 
    <option value="B">Client B</option> 

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

         </form> 

PHP文件1 Clientproject.php

$client_id_dropdown=$_POST['client_name']; 
    echo $client_id_dropdown; 

    /*Convert String to Integer */ 

    $client_id_dropdown_int=(int) $client_id_dropdown; 


     /*Populating a dropdown with the list of projects from an array $data*/ 

     echo " <form method= "post" name="project_form_2" action="harvest_clientproject2.php"> 
     <select id="animal" name="project_name">"; 

      // Iterating through the product array 
      foreach($data as $ $key=>$fruit){ 

      echo "<option value= "; echo $fruit->{'id'}; echo ">" ;echo $fruit->{'name'};echo"</option>"; 

      } 
      ?> echo " 
     </select> 
     <input type="submit" value="Submit"> 

</form>"; 

PHP文件2 harvest_clientproject2.php

*Getting Project ID */ 

$projectid=$_POST['project_name']; 

/*Convert String to Integer */ 

$projectid_int=(int) $projectid; 


/*Generating Project Details and putting it in the form of a table */ 

$result = $api->getProject($projectid); 
$data = $result->get("data"); 

echo "<table border='1'> 
    <tr><td>Project Name</td> 
    <td>Project Creation Date</td> 
    <td>Billable</td> 
    </tr>"; 
     foreach($data as $key=>$fruit) { 
         ?> 
        <tr><td><?php echo $fruit->name;?></td> 
        <td><?php echo $fruit->{'created-at'};?></td> 
         <td><?php echo $fruit->{'billable'};?></td></tr> 
     <?php ;} 
    echo "</table>"; 
?> 

但是,一旦我试图做到这一点给出了一个第一个PHP文件中出现错误,提示“Syntax Error Unexpected Post”。请建议我如何能解决这个问题

+0

修复你的语法错误。例如,在'1-Clientproject.php'中,您将双引号放在双引号内。 –

+0

去学习PHP语法的基础知识。 http://php.net/manual/en/language.types.string.php – CBroe

回答

1

的语法高亮显示问题:

echo " <form method= "post" name="project_form_2" action="harvest_clientproject2.php"> 
    <select id="animal" name="project_name">"; 

为了在字符串中有引号,你需要“越狱”这些报价。否则,解析器无法知道您是要包含引号字符还是要结束字符串。 (语法上它假定后者,当然。)

由于PHP也可以使用单引号的字符串,在该特定情况下,最简单的方法是使用那些用于服务器端代码:

echo '<form method="post" name="project_form_2" action="harvest_clientproject2.php">'; 
echo '<select id="animal" name="project_name">'; 

请注意,PHP can behave differently中的单引号和双引号字符串取决于这些字符串是什么。 (这就是为什么在这种情况下,我选择了它打入在车厢两个返回的echo声明。)

0

是的,这是可能的,但首先解决您的语法错误,首先改变这种

echo " <form method= "post" name="project_form_2" action="harvest_clientproject2.php"> 
    <select id="animal" name="project_name">"; 

echo '<form method= "post" name="project_form_2" action="harvest_clientproject2.php">';

相关问题