ここで私はかなり分かりませんが少し問題があるようです。PHPを使用してHTMLフォームから値を取り出し、MySQL DBに格納します
私はHTMLファイルと一緒にPHPスクリプトを持っています。そのファイルには、いくつかのテキストボックスとドロップダウンがいくつかあります。今私がこれらのすべての上で単一のフォームに行かなければならなかった理由は、私が大きなボタンを1つ行った場合、送信ボタンを押したときに誰も働かないからです。私は考えていない...私の現在のコードは以下の通りです、私の以前のコードは1つの形式しか持たず、全く動作しません。
<form method="post" id="locationFromPost" name="locationFormPost">
<div class="formRow">
<div class="label">
<label for="locationForm">Current Location:</label>
</div>
<div class="field">
//If post is null go back to value pull originally else echo post
<?php if($_POST['locationForm']==null) $location=$location;else $location=$_POST['locationForm']; ?>
<input type="text" name="locationForm" id="locationForm" value="<?php echo $location?>"></input>
</div>
</div>
</form>
......というように.......
<form method="post" id="sexFromPost" name="sexFormPost">
<div class="formRow">
<div class="label">
<label for="sexForm">Sex</label>
</div>
<div class="dropDown">
<select name="sex" id="sexForm" >
//If post is null go back to value pull originally else echo post
<?php if($_POST['sexForm']==null) $sex=$sex;else $sex=$_POST['sexForm']; ?>
<option value="1" <?php if($sex==1){echo"selected='selected'";}?>>Male</option>
<option value="2" <?php if($sex==2){echo"selected='selected'";}?>>Female</option>
<option value="3" <?php if($sex==3){echo"selected='selected'";}?>>Not Specified</option>
</select>
</div>
</div>
</form>
......というように.......
<form method="post" id="submit" name="submit">
<div class="formRow"><div id="seperator"></div></div>
<div class="submitButton">
<input type="submit" name="submit" id="submit" value="Save Changes"/>
</div>
</div>
</form>
コードの上部がどのように見えるのか、すべてのdivは書式設定のためのものであり、それらについて心配する必要はありません。情報を保存するPHPコードは以下の通りです。上記のコードのPHPの部分で見られる変数は、コードの前の部分でデータベースから取得されています。正常に動作しています。私が問題を抱えているのは、ユーザーが情報を編集して送信ボタンと情報を保存できるようにすることです。現在起こっていることは、まあ、絶対に気づいていることです。ページがリフレッシュされ、すべての値が引っ張られたときの状態に戻ります.DBにはまったく格納されません。コードの一部が動作していることを確認した後、テストを購入します。それはデータを問題なく保存します。私が薄くしているのは問題はフォームそのものです。私はすべてのことを1つの大きなフォームで行い、うまくいかない場合はどうしたらいいのでしょうか。今ではフォームの最後にあるenterキーを押してブラウザのデータを入力すると、そのフィールドだけが表示され、時には他のフィールドが完全に消去され、空の文字列が格納されます。私はこのことを全く理解していないようだ。
この情報を保存するにはPHPが必要です。
<?php
if (isset($_POST['submit']))
{
mysql_query("UPDATE members SET location= '".$_POST['locationForm']."' WHERE usr='" .mysql_real_escape_string($_SESSION['usr']) ."'");
mysql_query("UPDATE members SET location= '".$_POST['sexForm']."' WHERE usr='" .mysql_real_escape_string($_SESSION['usr']) ."'");
........ you know the rest.......
}?>
私は完全にこの事は、これをやっている理由で失われたのですが、今ではない任意の-手段で最高のPHPプログラマーをイムので、それは(おそらく)私にある可能性があります。そのようなシステムを得るために私がする必要があることを誰かが指摘できたら、私に知らせてください。
ありがとう。
まず、SQLクエリ変数をエスケープします。しかし、第二に、一度に提出できる書式は1つだけです。すべてのフォームフィールドを一度に送信するには、フォームフィールドを1つのフォーム内に作成する必要があります。数百万のWebサイトでこれが管理されているため、「動作しないので分割するのではなく、フォームの処理に実際に誤りがあります。 – Andrew
さて、あなたのご意見ありがとうございます、私は実際に別のページで同じことをやったことがありますが、私はちょうどこれに取り組むことができませんでした。悪い試み。ありがとうございました。 – awmayhall