Autor Zpráva
lexis
Profil *
ahojte lidi :)) mám tu problémek .. :/ dělám kamarádovi web a vyskytla se chyba .. chci udělat stránku na kterou se dostane pouze přihlášený uživatel ale když se přihlásím tak nic ale ani to neukáže žádnou chybu ... zde mam kod stranky login_zpracuj.php
<?php
ob_start();
/*
* Tetno soubor zjisti zda se takovy uzivatel s takovym heslem v databazi nachazi.
* Pokud ano, do sessions o tom ulozime informaci.
* Jinak se samozrejme presmerujeme zpet a dame uzivateli vedet, ze zadal spatne udaje
*/
session_start(); // Budeme pracovat se session, musíme je nastartovat.
if(isset($_POST['jmeno'])){
  require_once 'db.php';
  $name = $_POST['jmeno'];
  $pass = md5($_POST['heslo']);
    $query = mysql_query("SELECT * FROM `uzivatele` WHERE `jmeno` = '$name' and `heslo` = '$pass'") or die (mysql_error());
    // Vybereme uživatele se zadaným jménem a heslem
      $Vysledek = mysql_fetch_array($query);
        if($Vysledek['jmeno']){ // pokud tato proměnná obsahuje data, bylo zadané správné jméno a heslo
          // Do sessions si uložíme pár informací o přihlášeném
          $_SESSION['prihlasen'] = 1;
          $_SESSION['login'] = $Vysledek['jmeno'];
          $_SESSION['UserId'] = $Vysledek['id'];
          $_SESSION['UserWeb'] = $Vysledek['web'];
          $_SESSION['UserMail'] = $Vysledek['mail'];
          $bl="admin.php";
          header("location: $bl"); // přesměrujeme na index
          exit;
        }else{
          $bl="index.php?Alert=6";
          header("location: $bl"); // špatně zadané údaje
          exit;
          // echo "Zadal jsi špatné údaje";
        }
    mysql_free_result($query);
}else{
  echo "Zde nic není.";
}
ob_end_flush();
?>

a zde stránka na kterou se dostane pouze přihlášený: admin.php
<?php
if(!isset($_SESSION['prihlasen']) and @$_SESSION['prihlasen']!=1){
  echo "<h3>Nemáte oprávnění pro vstup na tuto stránku. Vraťte se na ůvodní stránku ...</h3>";
  exit;
}
if(empty($_GET['id'])):
    echo "<li><a href='admin.php?id=new'>Zaslání novinek registrovaným uživatelům</a></li>";
elseif($_GET['id']=='new'):
?>
<form action="admin.php" method="get">
    <textarea cols="25" rows="10" name="zprava"></textarea><input
 name="id" value="ok" type="hidden">
<br>
<br>
<input name="akce" value=" Odeslat "
 type="submit">
</form>
<?php
endif;
if($_GET['id']=='ok' AND (!empty($_GET['zprava']))):
// posíláme zprávu?
    require("config.php");
    // načtení konfigurace databáze
    $zprava=$_GET['zprava'];
    @$vysledek=MySQL_Query("SELECT email FROM seznam WHERE overeno='OK'");
    // výběr emailů z databáze
    if(!$vysledek):
    // ošetření chyby
        echo "V databázi není žádný reg. uživatel";
        exit;
    endif;
    $predmet="Novinky!";
    $hlavicka="From: MailRobot@domena.cz\r\n";
    while($zaznam=MySQL_Fetch_Array($vysledek)):
        $bccx[]=$zaznam['email'];
        // načtení emailů do pole
    endwhile;
    $bcc.="Bcc: ".Implode($bccx, ",")."\r\n";
    // oddělení emailů čárkou
    $hlavicka.=$bcc."Mime-Version: 1.0\r\nX-Mailer: TEST\r\nContent-Type: text/plain; charset=windows-1250\r\n";
    mail("", "$predmet", "$zprava", "$hlavicka");
    // poslání emailu
    $users = mysql_fetch_row(mysql_query("SELECT COUNT(id) FROM seznam WHERE overeno='OK'"));
    // kolika lidem se email odeslal
    echo "Posláno: ".$users[0]." uživatelům";
endif;
?>

prosím moc o pomoc :)) děkuji Lexis
panther
Profil
lexis:
na začátku admin.php ti (pravděpodobně) chybí session_start().
lexis
Profil *
:(( to ne ... vypíše mi to Chyba protokolu HTTP 500 (Internal Server Error)
lexis
Profil *
je panther mělo to bej session_start(); ... díky moc :)))))

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