Mysql+phpでショッピングカートの作成をおこなっております。
Mysqlからデータを引き出し→フォームに表示→内容を書き換え→Mysqlにデータ送信。の流れを作りたいです。
データを引き出し→フォームに表示麻では出来ている様ですが、書き換えたデータは全く反映されません。
ーーーー前分省略ーーーーー
if ( ( $login = auth() ) == FALSE ) {
header( 'Location: login.php?redirect=login.php' ); exit;}
if ( $_POST['action'] == 'edit' ) {
if(strlen($_POST['con'])>60) $error.='会社名が30文字以上です<br>';//文字数のエラー
if($_POST['tel']=='') $error.='電話番号が入力されていません<br>';//空のエラー
if ( $error == '' ) {
$sql = "update user set
con = '" . mysql_real_escape_string( $_POST['con'] ) . "',
name_k = '" . mysql_real_escape_string( $_POST['name_k'] ) . "',
tel = '" . mysql_real_escape_string( $_POST['tel'] ) . "'
fax = '" . mysql_real_escape_string( $_POST['fax'] ) . "'
where id = '" . mysql_real_escape_string( $_SESSION['id'] ) . "'";
$result = mysql_query( $sql );
$error = '変更しました<br>'; } }
$sql = "select * from user where id = '" . mysql_real_escape_string( $_SESSION['id'] ) . "'";
$result = mysql_query( $sql );
$users = mysql_fetch_array( $result );
?>
Telとfaxのそれぞれの末尾にカンマが無いことが原因だと思われる
このようなミスは発見が難しいのでテスト段階ではエラー出力しておくようにしておいたほうがいい
$result = mysql_query( $sql ); if (!$result) { die(mysql_error() . "->" . $sql); }