2016-09-16 22 views
0

phpとmysqlにバックエンドフォームシステムを作成しています。ウェブページ。キャプション、ハイパーリンク、およびイメージへの参照は、mysqlデータベースに格納されます。フォームは私によってのみ使用されます。フォームを使用して画像にハイパーリンクやキャプションを追加すると、Webページにアップロードできます。これはコードです:ここではアップロードする前に画像にハイパーリンクやキャプションを追加するためのバックエンドシステムを作成する方法

<!DOCTYPE html> 

<html> 
<head> 
    <title>Upload form</title> 
</head> 
<?php 
$add_link = $_GET['add_link']; 
$add_caption = $_GET['add_caption']; 

if(isset($_POST['upload_img'])) { 
    $file_name = $_FILES['image'] ['name']; 
    $file_type = $_FILES['image'] ['type']; 
    $file_size = $_FILES['image'] ['size']; 
    $file_tmp_name = $_FILES['image'] ['tmp_name']; 

    if($file_name) { 
     move_uploaded_file($file_tmp_name,"img/$file_name"); 
    } 
} 
?> 

<body> 

    <form action="" method="post" enctype="multipart/form-data"> 
     <label>upload Image</label><br><br> 
     <input type="file" name="image"><br><br> 
     <label>Add link/URL to image:</label> 
     <input type="text" name="add_link" maxlength="30" size="30"><br><br> 
     <label>Add text caption:</label> 
     <input type="text" name="add_caption" maxlength="30" size="30"><br><br> 

     <input type="submit" value="Upload Image" name="upload_img"> 
    </form> <br> 



    <?php 
    $folder = "img/"; 
    if(is_dir($folder)) { 
     if($handle = opendir($folder)) { 
      while(($file=readdir($handle)) != false) { 
       if($file ==='.' || $file ==='..') continue; 

       echo'<a href="$add_link"> <img src="img/".$file."" width="150" height="150" alt=""><br>'; 
       echo $add_caption . "</a>"; 

      } 
      closedir($handle); 
     } 
    } 


    ?> 

    <?php 
$servername = "localhost"; 
$username = "root"; 
$password = ""; 

// Create connection 
$conn = mysqli_connect($servername, $username, $password); 

// Check connection 
if (!$conn) { 
    die("Connection failed: " . mysqli_connect_error()); 
} 

if(!mysqli_select_db($conn,'image_display')) 
{ 
echo 'Database not selected'; 
} 

$add_link = $_GET['add_link']; 
$add_caption = $_GET['add_caption']; 

$sql = "INSERT INTO table1(image1,name,imagelink,caption,video) VALUES ('$add_link', '$add_caption', '$file_name')"; 

?> 

</body> 
</html> 

答えて

1

は修正された問題で、あなたのコードです:

<!DOCTYPE html> 

<html> 
<head> 
    <title>Upload form</title> 
</head> 
<?php 
// THESE TWO VARIABLES SHOULD NOT BE HERE  ◄■■■■■■■■■■ 
// BECAUSE WE DON'T KNOW IF THE EXIST. THEY ◄■■■■■■■■■■ 
// BELONG TO NEXT IF.       ◄■■■■■■■■■■ 
// $add_link = $_GET['add_link']; 
// $add_caption = $_GET['add_caption']; 

if(isset($_POST['upload_img'])) { 
    // THE FORM IS "POST", NOT "GET".   ◄■■■■■■■■■■ 
    $add_link = $_POST['add_link'];   ◄■■■■■■■■■■ POST, NOT GET 
    $add_caption = $_POST['add_caption'];  ◄■■■■■■■■■■ POST, NOT GET 
    $file_name = $_FILES['image'] ['name']; 
    $file_type = $_FILES['image'] ['type']; 
    $file_size = $_FILES['image'] ['size']; 
    $file_tmp_name = $_FILES['image'] ['tmp_name']; 

    if($file_name) { 
     move_uploaded_file($file_tmp_name,"img/$file_name"); 
    } 
// THE DATABASE SECTION MUST BE HERE, INSIDE ◄■■■■■■■■■■■■■■■■■■ 
// THE IF, NOT AT THE BOTTOM.    ◄■■■■■■■■■■■■■■■■■■ 
    $servername = "localhost"; 
    $username = "root"; 
    $password = ""; 

    // Create connection 
    $conn = mysqli_connect($servername, $username, $password); 

    // Check connection 
    if (!$conn) { 
     die("Connection failed: " . mysqli_connect_error()); 
    } 

    if(!mysqli_select_db($conn,'image_display')) 
    { 
    echo 'Database not selected'; 
    } 

    // THESE VARIABLES WERE ALREADY DECLARED. ◄■■■■■■■■■■■ 
    // $add_link = $_GET['add_link'];   ◄■■■■■■■■■■■ 
    // $add_caption = $_GET['add_caption'];  ◄■■■■■■■■■■■ 

    $sql = "INSERT INTO table1(image1,name,imagelink,caption,video) VALUES ('$add_link', '$add_caption', '$file_name')"; 

    } 
?> 

<body> 

    <form action="" method="post" enctype="multipart/form-data"> 
     <label>upload Image</label><br><br> 
     <input type="file" name="image"><br><br> 
     <label>Add link/URL to image:</label> 
     <input type="text" name="add_link" maxlength="30" size="30"><br><br> 
     <label>Add text caption:</label> 
     <input type="text" name="add_caption" maxlength="30" size="30"><br><br> 

     <input type="submit" value="Upload Image" name="upload_img"> 
    </form> <br> 

    <?php 
    $folder = "img/"; 
    if(is_dir($folder)) { 
     if($handle = opendir($folder)) { 
      while(($file=readdir($handle)) != false) { 
       if($file ==='.' || $file ==='..') continue; 

       echo'<a href="$add_link"> <img src="img/".$file."" width="150" height="150" alt=""><br>'; 
       echo $add_caption . "</a>"; 

      } 
      closedir($handle); 
     } 
    } 
    ?> 
</body> 
</html> 
関連する問題