人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPについて質問です。わかる方よろしくお願いします。
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 );
?>


●質問者: kasai-de_eb
●カテゴリ:インターネット ウェブ制作
✍キーワード:EXIT FAX LOGiN MySQL PHP
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● ホーエンハイム
●20ポイント
  1. 質問文では省略されているので分からないのですが、sessionは維持されていますか? 確認してください。
  2. update文を実行した際の$resultには何が代入されていますか? エラーになっていませんか? ご確認ください。
◎質問者からの返答

有難うございます。

>1

参考書よりsession_start();と書いてあります。

>2

$link = mysql_connect( $db_host, $db_user, $db_password );

mysql_select_db( $db_name );

$result = mysql_query( 'set character set utf8' );

となっています。


2 ● koriki-kozou
●34ポイント ベストアンサー

Telとfaxのそれぞれの末尾にカンマが無いことが原因だと思われる

このようなミスは発見が難しいのでテスト段階ではエラー出力しておくようにしておいたほうがいい

$result = mysql_query( $sql );
if (!$result) {
 die(mysql_error() . "->" . $sql);
}
◎質問者からの返答

お陰様で解決しました。本当にありがとうございました。


3 ● ko8820
●18ポイント

$error = '';

を一番上ぐらいにかいてこの変数を初期化しておかないと

$errorの値が不定になって

if文の $error == '' が真にならず

UPDATE文が実行されません。

◎質問者からの返答

有難うございました。

実行してみます。


4 ●
●18ポイント

とりあえずエラーの出力をdisplayかlogファイルに出すようにされたほうがいいかと思います。

で、tel=の行の最後に,がありません。

組み立てたsql文を表示させてチェックしてみてください。実際にmysqlでエラーが出ないかどうかはそこでわかると思いますので。

◎質問者からの返答

有難うございました。

ためしてみます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ