フォーム要素の値をtype="button"
mySql データベースに追加するのに問題があり、何か足りないのではないかと考えています。
編集 -値をエコーしていないため、その要素の情報が html から php に渡されているようには見えません。私の唯一の問題は、この 1 つの要素と、フォームの残りの部分が適切に送信されていることです。
選択した画像に基づいてユーザープロファイルを作成するオンラインクイズにこれを使用し、画像をボタン要素の背景画像として設定しています。これをストレートhtmlで実行しようとしています(ラジオ ボタンまたはチェック ボックスと一緒に JavaScript を使用する)。
<input type="button" name="quiz_start" value="jeans" style="background: url(files/start1.jpg) no-repeat; width:54px;height:140px; cursor:pointer; border:none; color: transparent; font-size : 0">
質問をする目的で、php コードを単純化しました (ユーザー ID を指定し、それを 1 つのフィールドのみに制限することを含む)。以下に完全なコードも含めました。
<?php
//Start session & connect to database
$user_id = 3;
$qry = "INSERT INTO style(user_id, quiz_start) VALUES('$user_id','$_POST[quiz_start]')";
$result = @mysql_query($qry);
header("location: page2.html");
exit();
?>
完全なクエリは次のとおりです。
$fieldlist=$vallist='';
foreach ($_POST as $key => $value) {
$fieldlist.=$key.',';
$vallist.='\''.($value).'\',';
}
$fieldlist=substr($fieldlist, 0, -1);
$vallist=substr($vallist, 0, -1);
$fieldlist.=', user_id';
$vallist.=','.$user_id;
$setlist='';
foreach ($_POST as $key=>$value){
$setlist.=$key .'=\''.$value.'\',';
}
$setlist=substr($setlist, 0, -1);
$result = mysql_query('UPDATE style SET '.$setlist.' WHERE user_id='.$user_id);
if (mysql_affected_rows()==0) {
$result = mysql_query('INSERT INTO style ('.$fieldlist.') VALUES ('.$vallist.')');
}
header("location: page2.html");
exit();
?>