Belka pozioma na stronie

coś kiepsko to widze, ponieważ nie działa mi to tak jak chce, czyli tak jak na stronce do której dałem linka Tutaj

To co chcesz osiągnąć to już php się przyda do tego typu rzeczy.

Podejrzewam że przy rejestracji wysyłasz cookie… teraz w belce dajesz np. warunek że jak nia ma cookie to widać logowanie a jak jest cookie to kto jest zalogowany.

-Puma- mój plik rejestracji wygląda tak:

<?php

session_start();

function formularz(){

   global $_POST,$e;

   echo '';

   if(isset($e[0])){

      echo "
\n";

   }

   echo 'Nazwa: ';

   echo '
   if(!empty($_POST['nazwa'])){

      echo " value=\"$_POST[nazwa]\"";

   }

   echo " />
\n";

   if(isset($e['nazwa'])){

      echo "
\n";

   }

   echo 'Hasło: ';

   echo '
'."\n";

   if(isset($e['haslo'])){

      echo "
\n";

   }

   echo 'E-mail: ';

   echo '
   if(!empty($_POST['mail'])){

      echo " value=\"$_POST[mail]\"";

   }

   echo " />
\n";

   if(isset($e['mail'])){

      echo "
\n";

   }

   echo 'Numer Gadu-Gadu: ';

   echo '
   if(!empty($_POST['gg'])){

      echo " value=\"$_POST[gg]\"";

   }

   echo " />
\n";

   if(isset($e['gg'])){

      echo "\n";

}

if(isset($_POST['nazwa'])){

   if(empty($_POST['nazwa']) or empty($_POST['haslo']) or empty($_POST['mail']) or empty($_POST['gg']) or empty($_POST['skad'])){

      $e[]='Niewypelniles wszystkich pol formularza.';

   }else{

      $dir=md5($_POST['nazwa']);

      if(file_exists("db/$dir.php")){

        $e['nazwa']='Podana nazwa użytkownika jest zajęta.';

      }elseif(strlen($_POST['nazwa'])<=3 or strlen($_POST['nazwa'])>20){

        $e['nazwa']='Długość nazwy użytkownika musi być od 3 do 20 znaków.';

      }

      if(empty($_POST['haslo'])){

        $e['haslo']='Hasło nie może być puste.';

      }

      if(!preg_match("/^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$/", $_POST['mail'])){

        $e['mail']='Adres E-mail jest niepoprawny.';

      }

      if(!is_numeric($_POST['gg'])){

       $e['gg']='Numer GG jest niepoprawny.';

      }

   }


   if(!isset($e)){

      $nazwa=addslashes($_POST['nazwa']);

      $haslo=md5($_POST['haslo']);

      $mail=addslashes($_POST['mail']);


      $handle=fopen("db/$dir.php",'w+');

      fwrite($handle,"<?php \$user['$nazwa']=array('password'=>'$haslo','mail'=>'$mail','gg'=>'$_POST[gg]','skad'=>'$_POST[skad]'); ?>");

      fclose($handle);

      $_SESSION['login']=$_POST['nazwa'];

      die("Zostałeś zarejestrowany i automatycznie zalogowany jako $_POST[nazwa].");

   }else{

      formularz();

   }

}else{

   formularz();

}

?>[/code]

I dane użytkownika są zapisywane w pliku .txt

Więc jeśli to jest tak jak mówisz, to jakby ten warunek zrobić ?

Tutaj widać że jest wysyłana sesja

$_SESSION['login']

Podaj jeszcze zawartość pliku logowania bo tam się kryje co jest wysyłane po zalogowaniu.

ok, to jest plik login.php

<?php

session_start();

if(isset($_SESSION['login'])){

   echo "Jesteś już zalogowany jako $_SESSION[login]. Wyloguj";

}elseif(!isset($_POST['nazwa']) or !isset($_POST['haslo'])){

?>

Nazwa:


Hasło:





<?php

}else{

   $dir=md5($_POST['nazwa']);

   if(file_exists("db/$dir.php")){

      include("db/$dir.php");

   }

   if(!isset($user[$_POST['nazwa']]) or $user[$_POST['nazwa']]['password']!=md5($_POST['haslo'])){

      echo 'Niepoprawna nazwa użytkownika i/lub hasło.';

   }else{

      $_SESSION['login']=$_POST['nazwa'];

      echo "Zostałeś zalogowany jako $_SESSION[login].";

   }

}

?>[/code]

Jak widzę logowanie jest zrobione że jeżeli jest sesja to wyświetla zalogowany a jak nie ma to jest formularz logowania.

<?php

if(!$_SESSION['login']) {

echo 'Witaj gościu - rejestracja'; include("logowanie.php"); 

} else { include("logowanie.php"); }

?> [/code]

Nie wiem czy to zadziała ale teoretycznie powinno wyglądać podobnie jak na podanym przez Ciebie przykładzie.

-Puma- nie działa to bo wyrzuca mi błąd na stronie:

Warning: include(logowanie.php) [function.include]: failed to open stream: No such file or directory in /home/users/history/public_html/index.php on line 98


Warning: include() [function.include]: Failed opening 'logowanie.php' for inclusion (include_path='.:/usr/local/share/phpmailer') in /home/users/history/public_html/index.php on line 98
<?php

session_start();

if(!$_SESSION['login']) {

echo '
Witaj gościu - rejestracja'; include("login.php");

} else { include("login.php"); }

?>[/code]

Teraz to troche za nisko wyszło - http://www.history.is.net.pl/?download

Jak to zrobić, żeby sie zmieściło ?

Np. tak

<?php

session_start();

if(!$_SESSION['login']) {

echo 'Witaj gościu - rejestracja:'; include("login.php");

} else { include("login.php"); }

?>[/code]

wystarczy podstawowa znajomość css :wink:

Powiedz mi jeszcze dwie rzeczy:

  1. jak zrobić żeby ta rejestracja była po drugiej stronie zaloguj ?

  2. Co zrobić, że link rejestracja nie otwierał sie w nowej stronie białej tylko na mojej stronie pod belka zamiast menu newsow ?

  1. Pobaw się stylami w span.

  2. Nie znam Twojego systemu strony więc nie potrafię odpowiedzieć ale pewnie wystarczy zrobić tak jak masz w menu linki.

Ps. Niech Ci będzie, ostatni raz podaje gotowy kod

<?php

session_start();

if(!$_SESSION['login']) {

echo 'Witaj gościu - rejestracja:'; include("login.php");

} else { include("login.php"); }

?>[/code]

Nie jest za dobrze, zobacz http://www.history.is.net.pl/?ksiega :frowning: i Link rejestracja nie działa.

Formularzowi daj w stylach float:left; lub span float:right;

Nie wiem jak to zrobić ? i nie wiem czemu mi rejestracja nie dziala :frowning:

Czy tak jest dobrze ?

<?php session_start(); if(!$_SESSION['login']) {

                             echo 'Witaj gościu - rejestracja:'; include("login.php");

                             } else { include("login.php"); }

             ?>[/code]

I jak to zrobić żeby linka rejestracja mi nie podkreslało i był ten link innego koloru niż teraz ?

http://www.kurshtml.edu.pl/

do span style dodaj

text-decoration:none;

najlepiej umieść to wszytko między i dodaj css .

Rejestracja:
Nazwa: Hasło: [/code] i wtedy dajesz css

[code]#belka {width: 800px; height: 35px; background-color: #4684C1; no-repeat top left; width:auto; height: 90px;margin:0; margin-bottom :auto; }#belka li { display:inline; list-style: none;padding : 5px; margin-top:30px;margin-left:7px; } #belka li { float: left; } #belka li a{ text-decoration:none; font-size: 11px; font-weight: bold; color:#555555; } #belka li a:hover { color:#f0f8ff; } zrób tak,będzie dobrze.

Nic mi to nie daje:

<?php session_start(); if(!$_SESSION[‘login’]) { echo ‘Rejestracja’; include(„login.php”); } else { include(„login.php”); } ?>
[/code]

Może ktoś mi pomóc to zrobić ? batmomobil nie będe dodawał takiego kilometrowego kodu css do mojej strony jak moge zrobic to krótko i zwięźle.

  1. Dodanie text-decoration:none do span nic nie da bo jest błędnym rozumowaniem, trzeba to dodać do linku czyli do a.

  2. Robienie listy przy jednym linku jest nieporozumieniem a dodatkowo pominięcie


  • jest błędne.

-Puma- możesz mi pomóc zrobić to tak, żeby było dobrze ? prosze Cie http://www.history.is.net.pl/

  1. Żeby linka rejestracja nie podkreślało o miał ten link jakiś kolof a po najechaniu myszką miał inny kolor.

  2. Żeby po kliknięciu w link rejestracja nie otwierała się strona biała z rejestracją, tylko żeby to było na mojej stronce pod belką

  3. Że jak klikne w Wyloguj to żeby nie wlączała sie strona biała z napisem: ZostaĹ‚eĹ› wylogowany tylko żeby od razu przechodziło do logowania.