お世話になります。
通常のフォームでポストされたデータをデータベース(MySQL)に格納したいのですが、
「INSERT文」以降$sqlに格納出来ません。
下記$flagの値が入らな状態です。
$g_name、$g_mail、$g_mesには正しく格納されるのですが。
OS:mac
phpのバージョン:php5.6.10
mampを使用しています。
phpmyadmin上ではデータを格納出来ます。
修正方法をご教示お願い致します。
<?php session_start(); include_once("config.php"); include_once("functions.php"); if($_SERVER['REQUEST_METHOD'] != "POST"){ //CSRF対策 setToken(); }else{ checkToken(); $g_name= h($_POST['g_name']); $g_mail= h($_POST['g_mail']); $g_mes= h($_POST['g_mes']); //var_dump($g_name); //var_dump($g_mail); //var_dump($g_mes); if(!empty($g_name) and !empty($g_mes)){ $sql= "INSERT INTO 'guestdata'('g_name', 'g_mail', 'g_mes', 'g_date')"; $sql .= "VALUES("; $sql .= "'" . $g_name . "',"; $sql .= "'" . $g_mail . "',"; $sql .= "'" . $g_mes . "',"; $sql .= "'" . date("Y/m/d H:i:s") . "'"; $sql .= ")" ; //$res = mysql_query($sql, $conn) or die ("データ追加エラー"); $flag = mysql_query($sql); print "flag=".$flag."<br>"; if($res){ echo "<p>書き込みありがとうございます。</p>"; } } }/* $_SERVER['REQUEST_METHOD */ ■config.phpは以下になります。 <?php $sv= "localhost"; $dbname= "guestbook"; $user= "dbuser"; $pass= "ynwa"; $conn = mysql_connect($sv , $user, $pass) or die ("接続エラー"); mysql_select_db($dbname) or die ("接続エラー"); error_reporting(E_ALL & ~E_NOTICE); ?>■functions.phpは以下になります。
<?php //ユーザー定義関数 function h($s){ return htmlspecialchars($s, ENT_QUOTES, "UTF-8"); return stripslashes($s); return str_replace(array("\r\n", "\r", "\n"), "<br>", $s); return mysql_real_escape_string($s); } function setToken(){ if(!isset($_SESSION['token'])){ $_SESSION['token'] = sha1(uniqid(mt_rand(), true)); } } function checkToken(){ if(empty($_POST['token']) || $_POST['token'] != $_SESSION['token']){ echo "不正な投稿です!"; exit; } } ?>回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/02/29 10:10
2019/08/28 11:30
2019/08/28 11:32