2016-04-28 28 views
-1

私はドロップダウンからなるフォームを持ち、ユーザーが情報を提出するとPHPページに送信されます。ユーザーがドロップダウンで選択したレスポンスに基づいて、私は別のフォームを作成しました。私は情報を提出しようとしています。私の質問は、それはPHPファイル内のポストメソッドを持つことは可能ですか?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>"; 
?> 

しかし、私はこれをしようと一度それができます"Syntax Error Unexpected Post"という最初のPHPファイルでエラーが発生しました。親切に私はこの問題に

+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では、これらの文字列に応じてシングルクォート文字とダブルクォート文字列が使用されます。 (どのこの場合には、私は、キャリッジリターンで2つの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">';

関連する問題