-1

ユーザー名とパスワードを認証した後、画像とテキストをデータベースに保存したいですか?

私は2つのファイルを持っています:

  1. login.html
  2. insert.php

login.html

<html>
<body>

<form action="insert.php" method="post">
username <input type="text" name="username" />
password <input type="text" name="password" />
image <input type="file" name="image" />
message <input type="text" name="message" />

<input type="Submit" /></form>

insert.php

<?php

$conn_error='could not connect.';
$mysql_host='localhost';
$mysql_user='ommzbocg_myappu';
$mysql_pass='d*BQTk2zScNb';
$mysql_db='ommzbocg_myapp';
$tbl_name='data';

$username=$_POST['username'];
$password=$_POST['password'];
$image=$_POST['image'];
$message=$_POST['message'];

if(!@mysql_connect($mysql_host, $mysql_user, $mysql_pass)      ||!@mysql_select_db($mysql_db))
{ die($conn_error);
}
$sql="SELECT * FROM $tbl_name WHERE username='$username' and password='$password'";
$result=mysql_query($sql);

// Mysql_num_row はテーブル行をカウントしています $count=mysql_num_rows($result);

// 結果が $myusername と $mypassword に一致した場合、テーブル行は 1 行でなければなりません if($count==1){

$query = "INSERT INTO data VALUES('$username','$password','$image','$message')";
}else{
echo '0';
}
if($query)
{
echo "1";

}
else
{ 
echo"Error";
}

mysql_query($query);
mysql_close();
?>

認証しかできませんが、画像とデータを保存できません。

4

1 に答える 1

0

最初に login.html を変更し、フォーム タグを以下のフォーム タグに置き換えてファイルをアップロードします。

<form method="post" action="insert.php" enctype="multipart/form-data">

画像/ファイルを保存するデータ型がblobまたはlong blob(ファイルサイズに依存)であることを確認してください。

テーブルに挿入する前に以下のコードを使用するよりも

$tmpName  = $_FILES['image']['tmp_name'];
$fp = fopen($tmpName, 'r');
$image = fread($fp, filesize($tmpName));
$image = addslashes($content);
fclose($fp);

この素晴らしい記事http://mirificampress.com/permalink/ Saving_a_file_into_mysqlを参照して、db にイメージを追加することをお勧めします。

于 2013-10-18T07:56:21.707 に答える