Autor Zpráva
JanS
Profil
Script má z tabulky "logged" vytáhnout všechny IP a porovnat, jestli má klient jednu z nic. Jestli jo, vytáhne id ze stejného řádku a zjistí ostatní informace z tabulky "users", na řádku, na kterém je to id. Potom ty údaje uloží do sessions. Nemůžu najít chybu. Měl by někdo nějaký nápad? Díky.

if($_SESSION["logged"] != 1) {
  $CurrentIP = $_SERVER["REMOTE_ADDR"];
  $IPMatch = FALSE;
  if(!$SelectLogged=mysql_query("SELECT ip FROM logged")) {
    // error
  } else {
    $SelectLoggedArray=mysql_fetch_array($SelectLogged);
    foreach($SelectLoggedArray as $key => $Value) {
      if($CurrentIP == $SelectLoggedArray[$Value]) {
        $IPMatch = TRUE;
        break;
      }
    }
  }
  if($IPMatch) {
    if(!$SelectID=mysql_query("SELECT id FROM logged WHERE ip='$CurrentIP'")) {
      // error  
    } else {
      $SelectIDArray=mysql_fetch_array($SelectID);
      $userID = $SelectIDArray["id"];
      if(!$SelectUser=mysql_query("SELECT * FROM users WHERE id='$userID'")) {
        // error
      } else {
        $UserInfo=mysql_fetch_array($SelectUser);
        $_SESSION["username"]    = $UserInfo["name"];
        // dalsi sessions
      }
    }
    $IPMatch=FALSE;
  } else {
    // error
  }
}
Kajman_
Profil *
$dotaz="select u.* from `users` u, logged l where l.id=u.id and l.ip='$_SERVER[REMOTE_ADDR]'";

Tohle udělá i kontrolu i vytažení případného uživatele jedním vrzem.
JanS
Profil
Co tam ale znamená
SELECT u.* FROM
?
Kajman_
Profil *
Všechny sloupečky z tabulky users, která má v dotazu alias u.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0