0

2ページ作りました

update.php
edit.php

edit.php から開始するので、ここに edit.php のスクリプトを示します。

<?php
$id = $_SESSION["id"];
$username = $_POST["username"];
$fname = $_POST["fname"];
$password = $_POST["password"];
$email = $_POST["email"];

mysql_connect('mysql13.000webhost.com', 'a2670376_Users', 'Password') or     die(mysql_error());
echo "MySQL Connection Established! <br>";

mysql_select_db("a2670376_Pass") or die(mysql_error());
echo "Database Found! <br>";

$query = "UPDATE members SET username = '$username', fname = '$fname', 
password = '$password' WHERE id = '$id'";

$res = mysql_query($query);

if ($res)
echo "<p>Record Updated<p>";
else
echo "Problem updating record. MySQL Error: " . mysql_error();
?>

<form action="update.php" method="post">
<input type="hidden" name="id" value="<?=$id;?>">
ScreenName:<br> <input type='text' name='username' id='username' maxlength='25'   style='width:247px' name="username" value="<?=$username;?>"/><br>
FullName:<br> <input type='text' name='fname' id='fname' maxlength='20' style='width:248px'     name="ud_img" value="<?=$fname;?>"/><br>
Email:<br> <input type='text' name='email' id='email' maxlength='50' style='width:250px'    name="ud_img" value="<?=$email;?>"/><br>
Password:<br> <input type='text' name='password' id='password' maxlength='25'     style='width:251px' value="<?=$password;?>"/><br>
<input type="Submit">
</form>

ここに私が大きな問題を抱えているupdate.phpページがあります

<?php
session_start();
mysql_connect('mysql13.000webhost.com', 'a2670376_Users', 'Password') or   die(mysql_error());
mysql_select_db("a2670376_Pass") or die(mysql_error());

$id = (int)$_SESSION["id"];

$username = mysql_real_escape_string($_POST["username"]);
$fname = mysql_real_escape_string($_POST["fname"]);
$email = mysql_real_escape_string($_POST["email"]);
$password = mysql_real_escape_string($_POST["password"]);


$query="UPDATE members
SET username = '$username', fname = '$fname', email = '$email', password = '$password'
WHERE id='$id'";


mysql_query($query)or die(mysql_error());
if(mysql_affected_rows()>=1){
echo "<p>($id) Record Updated<p>";
}else{
echo "<p>($id) Not Updated<p>";
}
?> 

edit.php でアカウント「test」を編集するフォームに入力し、フォームに入力したら |Submit!| をクリックします。ボタンをクリックすると update.php に移動し、これを返します

(0) Not Updated  

(0) <= id of user logged in

Not Updated <= MySql Error from  


mysql_query($query)or die(mysql_error());
if(mysql_affected_rows()>=1){

ログインしているユーザーを更新したいのですが、このスクリプトで間違っていなければ、

  $id = (int)$_SESSION["id"];

魔女は、ログインしている人のIDでユーザーを更新します

しかし、テーブルに影響がなかったという発言は更新されていません

私のMySqlデータベースの写真が役立つ場合は、ここをクリックしてください http://i50.tinypic.com/21juqfq.png

でもで

session_start();

以前と同じthinfを返します

4

2 に答える 2

1

セッションを開始していないようです。したがって、$_SESSION['id']設定されていません。

session_start();

そして、いつものようにmysql_ *関数を使用しないでください、その時は過ぎ去りました。mysqliまたはPDOを使用する

于 2012-11-21T02:53:22.633 に答える
0

セッションがタイムアウトしたか、セッションをまったく初期化していないようです。

あなたの出力から、IDが0であることを示しているので、問題があります

于 2012-11-21T02:56:22.843 に答える