0

ユーザー/メンバー情報の編集に問題があるようです。以下のフォームにsciptを提供しました。これに対する解決策は非常に高く評価されています。スクリプトを短縮するために検証チェックを実行しました。

ページはエラーなしでレンダリングされます。成功メッセージが表示されています。ただし、データベース内の情報は変更/編集されていません。

また、データベースからの値 (実行中の 2 番目の db クエリに対応) がフォームのフィールドに表示されています。ただし、変更を POST すると、変更はデータベースで行われません。

**PHP scipt**

<?php
 session_start();
if (isset($_SESSION['id'])) {
$id = $_SESSION['id'];
$username = $_SESSION['username'];
}

else {
echo "You have not signed in";
}

 if (isset ($_POST['submit'])){
 $title = $_POST['title'];
 $content = $_POST['content'];
 $make= $_POST['make'];
 $model = $_POST['model'];
 $price = $_POST['price'];
 $location = $_POST['location'];

 include_once "scripts/connect_to_mysql.php";     

 $title = mysql_real_escape_string($title);
 $content = mysql_real_escape_string($content);
 $make = mysql_real_escape_string($make);
 $model = mysql_real_escape_string($model);
 $price = mysql_real_escape_string($price);
 $location = mysql_real_escape_string($location);

 $title = eregi_replace("`", "", $title);
 $content = eregi_replace("`", "", $content);
 $make = eregi_replace("`", "", $make);
 $model = eregi_replace("`", "", $model);
 $price = eregi_replace("`", "", $price);
 $location = eregi_replace("`", "", $location);

 $sql = mysql_query ("UPDATE `advertisements` SET `title`='$title',        
 `content`='$content', `make`='$make', `model`= '$model', `price`='$price', 
 `location`='$location', `id`='$id' WHERE `advertisements` . `ads_id`='$ads_id'")
 or die (mysql_error());

 $success = "You have successfuly edited your ad";
 }

 else {

  if (isset($_GET['ads_id'])) {
  $ads_id = $_GET['ads_id'];
  }

  else {
  echo "URL not found";
   }

   include_once "scripts/connect_to_mysql.php";
   $query = mysql_query("SELECT * FROM advertisements WHERE ads_id='$ads_id'");

   while($row = mysql_fetch_assoc($query))
   {
   $title = $row["title"];
$content = $row["content"];
$make = $row["make"];   
$model = $row["model"];
$price = $row["price"];
$location = $row["location"];
$ads_id = $row ["ads_id"];
   }



   }

   ?>


   **form**

   <h1>Edit Advertisement</h1>

    <?php echo "$success";?>

<form action="edit.php" method="POST" enctype="multipart/form-data">

 Title: <input name="title" type="text" value="<?php print "$title"; ?>"/><br/>
 Content: <input name="content" type="text" value="<?php print "$content";
     ?>"/><br/>
 Make: <select name="make"> 
 <option value="<?php echo "$make"; ?>"><?php echo "$make"; ?></option> 
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
 </select> <br/>

 Model: <select name="model"> 
  <option value="<?php echo "$model"; ?>"><?php echo "$model"; ?></option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
</select> <br/>
Price: <input name="price" type="text" value="<?php print "$price"; ?>"> <br/>

Location: <select name="location"> <br/>
        <option value="<?php echo "$location"; ?>"><?php echo "$location";
                    ?></option>
        <option value="Leicester">Leicester</option>
        <option value="Loughborough">Loughborough</option>
        <option value="Nottingham">Nottingham</option>
        <option value="Derby">Derby</option>
</select> <br/> <br/>

     <input name="submit" type="submit" value="Edit ad"/>

</form>
4

1 に答える 1

0

を動かしてみる

    if (isset($_GET['ads_id'])) {
  $ads_id = $_GET['ads_id'];
  }

  else {
  echo "URL not found";
   }

右上に

 if (isset ($_POST['submit'])){

これは問題を引き起こす可能性があります

そして、私が推測するように、あなたのフォームアクションには次のようなものが必要です

<form action ="edit.php?ads_id=the id for the page" >
于 2012-04-21T00:14:58.283 に答える