誰かがPHP/mySQLフォームの提出中に変数を割り当てるより洗練された方法を提案できるのだろうかと思います。これはぎこちないようです
//include("connect.php"); mysql_connect("localhost","root","root"); mysql_select_db("noirTEST"); // assign out vars from the POST vars to get ready for SQL insertion $thumb_image_location = $_POST['thumb_image_location']; $large_image_location = $_POST['large_image_location']; $password = sanitizeString($_POST['password1']); $firstName = sanitizeString($_POST['firstName']); $lastName = sanitizeString($_POST['lastName']); $desc_short = sanitizeString($_POST['desc_short']); $nationality = sanitizeString($_POST['nationality']); $speakEnglish = sanitizeString($_POST['speakEnglish']); $speakGerman = sanitizeString($_POST['speakGerman']); $mainInst = sanitizeString($_POST['mainInst']); $inspiration1 = sanitizeString($_POST['inspiration1']); $inspiration2 = sanitizeString($_POST['inspiration2']); $inspiration3 = sanitizeString($_POST['inspiration3']); $inspiration4 = sanitizeString($_POST['inspiration4']); $inspiration5 = sanitizeString($_POST['inspiration5']); $desc_long = sanitizeString($_POST['desc_long']); $link1name = sanitizeString($_POST['link1name']); $link1url = sanitizeString($_POST['link1url']); $link2name = sanitizeString($_POST['link2name']); $link2url = sanitizeString($_POST['link2url']); $link3name = sanitizeString($_POST['link3name']); $link3url = sanitizeString($_POST['link3url']); $email = sanitizeString($_POST['email']); $proExperience = sanitizeString($_POST['proExperience']); $haveStudio = sanitizeString($_POST['haveStudio']); $musicTheory = sanitizeString($_POST['musicTheory']); $composer = sanitizeString($_POST['composer']); $teacher = sanitizeString($_POST['teacher']); $query = "INSERT INTO NOIRusers (thumb_image_location, large_image_location, password, firstName, lastName, desc_short, nationality, speakEnglish, speakGerman, mainInst, inspiration1, inspiration2, inspiration3, inspiration4, inspiration5, desc_long, link1name, link1url, link2name, link2url, link3name, link3url, email, proExperience, haveStudio, musicTheory, composer, teacher) VALUES ('$thumb_image_location', '$large_image_location', '$password', '$firstName', '$lastName', '$desc_short', '$nationality', '$speakEnglish', '$speakGerman','$mainInst', '$inspiration1', '$inspiration2', '$inspiration3', '$inspiration4', '$inspiration5', '$desc_long', '$link1name', '$link1url', '$link2name', '$link2url', '$link3name', '$link3url', '$email', '$proExperience', '$haveStudio', '$musicTheory', '$composer', '$teacher')"; function sanitizeString($string) { $string=trim($string); $string=strip_tags($string); $string=htmlentities($string); $string=stripslashes($string); return $string; };
この最初の部分はこのようなものでしょうか?それは私が見ていますすべての例のように思える
foreach($_POST as $key => $value){
${$key} = $value;
sanitizeString($key);
}
は...長い道のりまたはそれのようなものを使用していますので、私は短い道を/使用すべきではないことができない理由があると確信しています。しかし、誰も私にそれを説明することはできますか?
キーごとに名前が付けられた各配列値の変数が必要な場合は、短い方法で問題ありません。 sanitizeString()はパスワードで使用するので、何をしますか? – Cez
私はあなたが以下に挙げたforeachを行うだけでなく、個々の変数に保存する代わりに、キーが使用されている$ _POSTキーと同じである変数の配列を作成します。 –
@cez - おっとパスワードにsanitizeStringを使用するのは意味がないと思います。キーごとに名前が付けられた変数については、これは必ずしも望ましいとは限りませんが、私にとっては論理的なようです。 –