0

簡単なログインおよび登録プロジェクトを作成しました。

次に、ユーザーに「プロファイル ページ」が表示されます。「編集」ボタンをクリックして、登録時に存在しなかったフィールドに情報を入力できるようにしてほしい。データベースに「バイオ」を追加するスクリプトを取得できますが、新しいレコードが作成されます。このバイオ情報を特定のメンバー レコードに追加するにはどうすればよいですか?

<?php
ob_start();
session_start();
if(!isset($_SESSION['Email'])){
header("Location: login.php");
}   
?>

<body>
<div id="wrapper">

<?php
$con = mysql_connect("HIDDEN");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("HIDDEN", $con);

$sql="INSERT INTO members (Bio)
VALUES
('$_POST[Bio]')";

if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";

mysql_close($con);
?>

<form action="edit.php" method="post">
Bio: <input type="text" name="Bio">
<input type="submit">
</form>

</div>
</body>
</html>
4

2 に答える 2

0
<?php
ob_start();
session_start();
if(!isset($_SESSION['Email'])){
header("Location: login.php");
}   
?>

<body>
<div id="wrapper">

<?php
if(isset($_REQUEST['submit'])) {
$con = mysql_connect("HIDDEN");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("HIDDEN", $con);

$sql="INSERT INTO members(Bio) VALUES ('".$_POST['Bio']."')";

if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";

mysql_close($con);
}
?>

<form action="edit.php" method="post">
Bio: <input type="text" name="Bio">
<input type="submit" name="submit">
</form>

</div>
</body>
</html>
于 2014-12-08T18:16:00.680 に答える
0

列が同じテーブルにある場合は、別のステートメントではなく、ステートメントbioを実行する必要があります。また、ユーザーの ID も知っておく必要があります。UPDATEINSERT

UPDATE `members` SET `bio` = ?

$_POSTまた、 SQL ステートメントで変数を直接使用しないでください。その場合、サイトは SQL インジェクションの脆弱性に対して脆弱なままになります。PDO などを使用してステートメントを準備し、バインドされたパラメーターでそれらを実行します。PDO$dbのインスタンスの例:

$sql = "UPDATE `members` SET `bio` = :bio WHERE `id` = :id LIMIT 1";

$statement = $db->prepare($sql);
$statement->bindParam(':bio', $bio);
$statement->bindParam(':id', $user_id);
$statement->execute();

$bioおよび$user_id変数を割り当てる必要があります。

于 2013-02-05T22:24:39.467 に答える