2012-04-09 20 views
0

さて、私は新しいサポートチケットシステムを作成しましたが、私のチケット検索ページでは197行目の未定義変数のようなエラーが出ています。変わったのは変数がその上に定義されているということです。ここで私を助けてくださいここにコードへのリンク:http://pastebin.com/AMzRLDK4変数が内部で設定されている問題Whileループが外部で未定義です。

私は開いているサポートチケットを表示し、それらを読み取りまたは状態を変更し、それらに返信することを可能にしようとしています午後のシステムに行くことによって。私は昨晩働いていたが、その効果を理解することなく何かを変えたにちがいない。

ありがとうございます。 Matt。

+0

どの変数が定義されていませんか? – Chris

+0

$ Snameと$ Sid –

答えて

2

コードで$ Sidまたは$ Snameを初めて使用するようです。それらはwhileのコードブロック内にあります。つまり、それが存在する唯一の場所です。また、mysql_fetch_assoc()を使いたいと思います。実際には、インデックスではなく列名を使用します。

while($raw = mysql_fetch_array($ret)){ $Sid = $raw['id']; $Sname = $raw['username']; } 

クイックフィックス(いくつかの理由からMySQLi以降を使用してオフにし、おそらく最高):

$Sid = null; //or 0 whichever makes sense for you 
$Sname = null; //or '' 
while($raw = mysql_fetch_assoc($ret)){ $Sid = $raw['id']; $Sname = $raw['username']; } 

しかし、MySQLのクエリでLIMIT 1で、あなたはすべて一緒

WHILEをドロップすることができ
$raw = mysql_fetch_assoc($ret); 
if($raw === false) 
{ 
    //Error Condition 
} 

$Sid = $raw['id']; 
$Sname = $raw['username']; 
+0

私は最高の修正をするために何をお勧めしますか?どの行にコードを挿入するのですか? –

+0

@MattMyers未定義の変数を手にして問題を修正するには、 'while 'を持たない2番目の修正を使用します。 188行目のコードを置き換えます。それを超えて、特にこれはログインスクリプトであるため、MySQLiのステートメントを調べてください。彼らは、あなたのデータがあなたの質問にきれいであることを確かめるために、長い道のりを歩むでしょう。 http://www.php.net/manual/en/class.mysqli-stmt.php – Chris

+0

本当にありがとうございましたが、コードサンプル(クイックフィックス)から少しずれていましたによって提出されたユーザー名を表示するので、nullの代わりに; $ Sidと$ Snameの後に私はmysql grab memidを使いました。とusername;私はユーザー名をクリックすることができず、メンバーのページに連れて行ってくれないので、nullをmemidに変更しました。しかし、それは今良い仕事、ありがとうございます:D –

関連する問題