1

選択した一部のユーザーのみがアクセスできる Web フォーラムがあります。つまり、$_SEESION['username']オンにする必要があります。

プロフィールページに - このように見えます

http://127.0.0.1/mysite/profile.php?username=john

画像がアップロードされているかどうかに応じて、アップロード ボタンまたはプロファイルの編集ボタンを表示したいと考えています。

$_GET が設定されているかどうかを確認しています。最初に設定されていない場合は、ホームページにリダイレクトされます。

if(isset($_GET['username'])) {
$username = mysql_real_escape_string($_GET['username']);

$profile = mysql_query(SELECT *
                       FROM forum
                       WHERE username = '$username') or DIE(mysql_error());

                       $row = mysql_fetch_array($profile);

                    echo"
                    Name : $row[name];
                   Country : $row[country];

    if($_GET['username'] == $_SESSION['username'] && $row['imagepath'] == '') {
   echo "Upload Button";
}
else {
      echo"Edit Button";
}
}

アップロードボタンは、実際に画像パスが指定されている場合に画面に表示されます。

どこが間違っているのか教えてください。

4

3 に答える 3

1

mysql_query-parameter を二重引用符で囲む必要があります。私はあなたのコードをコピーしました。それが私の解決策でした。

ところで、あなたは反響しすぎます。次のコードのようになります。

echo "Name: ".$row['name'];
echo "Country: ".$row['country'];

if($_GET['username'] == $_SESSION['username'] && $row['imagepath'] == '') {
    echo "Upload Button";
}
else {
    echo"Edit Button";
}
于 2012-09-06T21:51:24.463 に答える
0
  • mysql_query("QUERY HERE")、それ以外の場合はまったく機能しません。
  • $row['name'], $row['country']: 名前を引用符で囲む必要があります。
  • echo 'Text'. 引用符を閉じていません。
  • empty($row['imagepath']). という機能がありますので、そちらをご利用ください。

上記の修正がまだ機能しない場合は、必要なすべての変数をエコーし​​てみてください: $_GET['username']$_POST['username']$row['imagepath']. おそらくPHPはそれらを読み取ることができません。

于 2012-09-06T21:53:33.543 に答える
-1

ここからデバッグを開始できるすべての構文エラーを修正しました。

if ( isset( $_GET['username'] ) ) {
  $username = mysql_real_escape_string( $_GET['username'] );

  $profile = mysql_query( "SELECT *
    FROM forum
    WHERE username = '$username'" ) or DIE( mysql_error() );

  $row = mysql_fetch_array( $profile );

  echo "Name : " . $row['name'];
  echo "Country : ". $row['country'];

  if ( $_GET['username'] == $_SESSION['username'] && $row['imagepath'] == '' ) {
    echo "Upload Button";
  } 
  else {
    echo"Edit Button";
  }
}
于 2012-09-06T21:54:27.143 に答える