dポイントプレゼントキャンペーン実施中!

環境:php5,MySQL5,XP
インドで外注したソースが、同じ動きをしません。
1.DB接続は、pear::dbで
mysql_connect('localhost', 'root', '*****')
の後に、
mysql_query("SET NAMES sjis") or die("can not SET NAMES sjis");
を追加し、文字化けも起こらず、漢字で表示されます。

2.以下で、$mark を追うと、英語だけのデータだとうまく動きます。
(GLOBALS["mark"]が増えて行きます)
日本語を混ぜると 下記$markと$GLOBALS["mark"] が、すべて'0'になってしまいます。

$mark = 0;
--処理
$result='O'; $GLOBALS["ans"]=$GLOBALS["ans"]+1; $GLOBALS["get"]=$GLOBALS["get"]+$qqqa['mark'];}
--処理
$GLOBALS["mark"]=$GLOBALS["mark"]+$qqqa['mark'];
--処理
$GLOBALS["mark"]=$GLOBALS["mark"]+$qqqa['mark'];
*これを$qqqa['mark']から$qqqe['mark']まで、5回足しています。

文字コードさえ出来れば、そのまま動くだろう、位に考えていて、PHPほとんど勉強しておらずすいません。何かヒントだけでもいただけると助かります。

A 回答 (2件)

$qqqa['mark']から$qqqe['mark']がすべて0ということですよね


$qqqa['mark']を取得している部分がわからないので回答できません
データベースから取得しているのでしょうか
    • good
    • 0
この回答へのお礼

>データベースから取得しているのでしょうか
単純なミスでした。
データベースから取得していて、すべて0になっていました。
*英語のデータベースと日本語のデータベースを作成し、英語の方はすべて1以上の数字でした。

安易なミスに答えていただきありがとうございました。
でも私にとっては、偉大なヒントでした。
厚く御礼申し上げます。

お礼日時:2008/05/16 17:38

>日本語を混ぜると 下記$markと$GLOBALS["mark"] が、すべて'0'になってしまいます。



例示されたソースには「日本語」が混ざっている部分がありません(このままのソースだと問題なく動作します)。どう混ざっているのでしょうか?可能であれば「再現可能なミニマムソース」を例示してください。

この回答への補足

早速お答えいただきありがとうございます。
何か設定なのでしょうか。
--「例示されたソースには「日本語」が混ざっている部分がありません」
*下記ソースも「日本語」が混ざっている部分がないのでは?

<?
session_start();
include_once('connection.php');
$email=$_SESSION['name'];
$query = mysql_query("select * from m_student where `stuid`='$email'");
$row=mysql_fetch_assoc($query);

if(($row['stpass']=='') || ($row['stpass']!=$_SESSION['pass'])){
?>

の後に
---ここから下
$ans =0;
$mark = 0;
$get= 0;

$qa="select * from examin where `id`='$_POST[id1]'";
$qqa=mysql_query($qa);
$qqqa=mysql_fetch_array($qqa);
$answer=$_POST['q1'];
$correct = $qqqa['answer'];
if($qqqa['answer']==$answer){
$result='O'; $GLOBALS["ans"]=$GLOBALS["ans"]+1; $GLOBALS["get"]=$GLOBALS["get"]+$qqqa['mark'];}
else{
$result='X';}
$GLOBALS["mark"]=$GLOBALS["mark"]+$qqqa['mark'];
----ここから上
で、これを $qa="select * from examin where `id`='$_POST[id1]'"; 以降
qaをqeまで5回繰り返します。

補足日時:2008/05/16 12:58
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!