2017-11-02 11 views
-2

HTMLでPHPとPHPでHTMLを書き直すには?HTMLでPHPとPHPでHTMLを書き込む方法は?

次のエラーメッセージが表示されます。

Parse error: syntax error

<?php 
    echo"<div class='vod'>  

     " /////// i need right php her 
      $con = mysqli_connect ("localhost","root","","demo"); 

     $id = @addcslashes ($_REQUEST['id']); 

     $image = mysqli_query ($con,"SELECT * FROM img WHERE id= '$id '")or die(mysqli_error($con)); 
     $image = mysqli_fetch_assoc ($image); 
     $image = $image['img']; 


     header ("content-type: image/jpeg"); 
     echo $image ; " 

    </div>"; 
?> 
+0

エコーステートメントをセミコロンで終了しませんでした。 – Robbie

+0

申し訳ありませんが、あなたの質問 "正しい方法html"は意味がありません。 –

+0

私の質問はどのようにHTML内のエコーの内部にPHPを入力するのですか? –

答えて

0

それは単純なタイプミスです。あなただけの最初のecho;を逃し、あなたがエラー報告がオンになっていることを確認する良いアイデアであるスクリプトを開発している間、最後のdiv

を出力し、最後の行にechoコマンドを逃しました。働くかもしれない

<?php 
    // turn on error reporting while developing a script 
    ini_set('display_errors', 1); 
    ini_set('log_errors',1); 
    error_reporting(E_ALL); 
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); 

    echo"<div class='vod'>"; 
    // missing semi colon^

    $con = mysqli_connect ("localhost","root","","demo"); 
    $id = @addcslashes ($_REQUEST['id']); 

    $image = mysqli_query($con,"SELECT * FROM img WHERE id= '$id'") 
      or die(mysqli_error($con)); 
    $image = mysqli_fetch_assoc ($image); 
    $image = $image['img']; 

    header ("content-type: image/jpeg"); 
    echo $image; 

    echo "</div>"; 
// ^^^^ the echo here was also missing 
?> 

Note: You should also use prepared parameterised queries to protect your scripts from SQL Injection Attacks

-1

は、実際にこれはPHPやSQLとHTMLを混在しないように、良いアイデアです。 テンプレートと開発ロジックをsepaareteしようとする必要があります。

たとえば、プロジェクトに「templates」フォルダを作成し、 htmlよりこのテンプレートを読むことができます。 sqlと同じです。

良い練習があまりにも最後には、フレームワーク側で見ることができ twig

例えば、テンプレートエンジンを使用しています。 SymfonyまたはLaravelをお勧めしたいと思います。

+0

PHPでコードを書くことができる人にとっては良いヒントかもしれませんが、明らかに初心者がいます。テンプレート、フレームワーク、エンジン...私は彼らが本当にこの場合役立つとは思わない。 – Jaspa

0

<?php 

    // header has to appear before any html-tag; sure, that this is correct? 
     header("content-type: image/jpeg"); 

    echo "<div class='vod'>"; 

     // connect to db and initialize parameters 
     $con = mysqli_connect("localhost","root","","demo"); 
     $id = @addcslashes($_REQUEST['id']); 

     // get image src 
     $result = mysqli_query($con,"SELECT * FROM img WHERE id='.$id.'") or die(mysqli_error($con)); 
     $result = mysqli_fetch_assoc($result); 
     $image = $result['img']; // are you sure, that "img" is what you need? I think you need the path where the image is saved at 

    echo "<img src='".$image."' alt='Text that shows up if Image cannot be displayed'></div>"; 
?> 
関連する問題