-1

私は自分のデータベースを作成することを学んでおり、これまでのところ「チュートリアルとスタックオーバーフローのおかげで」登録ページを作成しています。

登録したら、ユーザー名とパスワードを入力すると、アップロード ページが開きます。

家の詳細をアップロードする

アップロード ページで、都市: 価格: 説明: ベッドルーム: バスルーム: 写真:

これまでのところ、インデックス ページに表示されるデータを入力したら、ページネーションを行い、アップロードされた画像のサイズを変更しましたが、すべて問題ありませんでした。

私の次のステップは、データを表示する新しいウィンドウに開くための各エントリのインデックス ページです。

コードを見つけるのが難しいのは、家の詳細をアップロードするときに、ユーザーに詳細ページの名前を入力してもらいたいということです。

そして、それが .php または .html で終わらないためには、www.mysite.com/the-desired-name だけです

これまでのコードは悪いコードを使用している可能性がありますが、問題なく動作し、すべてを完成させる経験ができるまで、必要なものを達成するのに役立ちます.

私のコードはアップロードページです

 <form enctype="multipart/form-data" action="add.php" method="POST"> 
City: <input type="text" name="city"><br> 
Price: <input type="text" name = "price"><br> 
Decription: <input type="text" name ="description"><br> 
Bedrooms: <input type="text" name="bed"><br> 
Bathrooms: <input type="text" name="bath"><br> 
Your desired link name MYSITE.COM/ <input type="text" name="link"><br> 
Photo: <input type="file" name="photo"><br> 

<input type="submit" value="Add"> 
</form>

そして、それは経由でアップロードします

<?php 

//This is the directory where images will be saved 
$target = "upload/"; 
$target = $target . basename( $_FILES['photo']['name']); 

//This gets all the other information from the form 
$city=$_POST['city']; 
$price=$_POST['price']; 
$description=$_POST['description']; 
$bed=$_POST['bed'];
$bath=$_POST['bath'];
$link=$_POST['link'];
$pic=($_FILES['photo']['name']); 

// Connects to your Database 
mysql_connect("host", "username", "password") or die(mysql_error()) ; 
mysql_select_db("mydatabase") or die(mysql_error()) ; 

//Writes the information to the database 
mysql_query("INSERT INTO `employees` VALUES ('$city', '$price', '$description', '$bed',         '$bath', '$link', '$pic')") ; 

if(move_uploaded_file($_FILES['photo']['tmp_name'], $target)) 
{ 
require_once 'SimpleImage.php';
$image = new SimpleImage();
$image->load($target);
$image->resize(50,50);
$image->save($target); 

//Tells you if its all ok 

echo "<script>window.location = 'http://www.mysite.com'</script>";
} 
else { 

//Gives and error if its not 
echo "Sorry, there was a problem uploading your file."; 
} 
?> 

そしてそれはインデックスページに表示されます

<?php 
// Connects to your Database 
mysql_connect("host", "username",     "password") or die(mysql_error()) ; 
mysql_select_db("mydatabase") or die(mysql_error()) ; 
if (isset($_GET["page"])) { $page  = $_GET["page"]; } else { $page=1; }; 
$start_from = ($page-1) * 2; 
$data = mysql_query("SELECT * FROM employees ORDER BY bath ASC LIMIT $start_from, 2")     or die(mysql_error());

//Puts it into an array 
while($info = mysql_fetch_array( $data )) 
{ 
?>
<?php 
//Outputs the image and other data

echo "<img src=http://www.mysite.com/upload/".$info['photo'] . " /><br />"; 
echo "<b>City:</b> ".$info['city'] . " ";  
echo "<b>Price:</b> ".$info['price'] . " ";
echo "<b>Bed:</b> ".$info['bed'] . " ";
echo "<b>Bath:</b> ".$info['bath'] . " ";
echo "<b>Extra:</b> ".$info['description'] . " ";
echo "<b>Link:</b> <u>www.mysite.com/</u> ".$info['link'] . " <br /><br /></a>";




}?>
<?php 
$data = mysql_query("SELECT COUNT(photo) FROM employees") or die(mysql_error());
$info = mysql_fetch_row($data);
$total_records = $info[0]; 
$total_pages = ceil($total_records / 2); 

for ($i=1; $i<=$total_pages; $i++) { 
        echo "<a href='index.php?page=".$i."'>".$i."</a> "; 
}; 
?>
4

1 に答える 1

0

.php または .html で終わらないようにするには、www.mysite.com/the-desired-name だけにします

Apache を使用していると仮定して、mod_rewriteを見てください。それを使用して、あなたが述べたようなリクエストを への内部リクエストに変えることができます/showpage.php/the-desired-name。そのスクリプト内では、変数を介してshowpage.phpアクセスできます。または、それが機能しない場合は、他の変数を介して通知します。the-desired-name$_SERVER['PATH_INFO']phpinfo()

于 2013-02-01T18:10:00.487 に答える