Problemy z panelem logowania

Pozostałe tematy dotyczące tworzenia stron WWW.
Swarmer
Posty: 19
Rejestracja: 05 gru 2010, 18:08:03
Strona na CBA.pl: http://www.swarmgames.y0.pl/
Płeć: Niewybrana
User Agent: Opera Windows 1920x1080

Problemy z panelem logowania

Post autor: Swarmer »

Witam
Mam pewne problemy z panelem logowania. Działa on prawidłowo, lecz chcę dodać parę rzeczy.

1.Chciałbym, by po zalogowaniu zamiast formularzu logowania pokazywało się np. coś takiego:

Swarmer:
Posty na forum: 0
Projekty: 0
Gotowe programy: 0
Poradniki: 0


Tu jest skrypt z pliku login.php:

Kod: Zaznacz cały

<?php
session_start(log);
 
if (isset($_POST['konto']) and isset($_POST['password']) ) 
{
require('users/config.php');
$konto=mysql_real_escape_string(trim($_POST['konto']));
$password=mysql_real_escape_string(trim($_POST['password']));
if ($konto!="" and $password!="") 
{
   $password = sha1(md5($password));
   $zapytanie="SELECT id FROM user WHERE login='$konto' and password ='$password'";
   $temp=mysql_query($zapytanie) or die("Wystąpił błąd");
   $ile=mysql_num_rows($temp);
   $temp=mysql_fetch_array($temp);
   $id=$temp['id'];
 
    if ($ile==1)
    {
     $_SESSION['user_id']=$id;
     $_SESSION['login']=$konto;
     echo('<center>Zostales zalogowany. <a href=index.php>Kliknij tutaj</a></center>');
    }
   else echo ('<center>Podales zle dane. Kliknij wstecz aby sprobowac ponownie.</center>');
}
}
else
{
?>
<form  action="login.php" method="post">
 
<strong>Login:</strong><input name="konto" type="text" value="" /><br>
 
<strong>Hasło:</strong><input name="password" type="password" value="" /><br>
 
<input type="submit" value="Zaloguj" />
 
</form>
<?
}
?>
Jeśli potrzeba czegoś więcej proszę pisać.

2. Chcę, by było możliwe sprawdzenie, ilu jest użytkowników, czyli wpisanie w listę ich loginów i
dodanie ich do jakiegoś licznika.

Myślę, że trzeba będzie coś dodać do skryptu rejestracji, więc zamieszczam treść pliku register.php

Kod: Zaznacz cały

<?php
require('config.php');

if (isset($_POST['konto']) and isset($_POST['password']) and isset($_POST['password2']))
{
if ($_POST['password']==$_POST['password2'])
  {
   $konto =  mysql_real_escape_string (trim($_POST['konto']));      
   $password = sha1(md5(mysql_real_escape_string (trim($_POST['password'])))); 
   $ile =mysql_query("SELECT * FROM `user` WHERE login = '$konto'");
   $ile = mysql_num_rows($ile);
   if ($ile==0)   { //jesli tak spelnij warunek
   $zapytanie="INSERT INTO user (login,password) VALUES('$konto','$password')";

   mysql_query($zapytanie) or die("Wystąpił błąd" );
   
      echo('Konto '.$konto.' zostalo utworzone. <a href=index.php>Kliknij tutaj</a>.'); 
   }
   else
   {
   echo("Taki użytkownik już istnieje. Kliknij wstecz aby zarejestrować się ponownie");
   }
  }
  else echo ("Podane hasła nie zgadzają się");
  }
else
{
?><form action="users/register.php" method="post">

<strong>Login:</strong><input name="konto" type="text" value="" /><br>

<strong>Hasło:</strong><input name="password" type="password" value="" /><br>

<strong>Powtórz:</strong><input name="password2" type="password" value="" /><br>

<input type="submit" value="Zarejestruj" />

</form><?
}
?>
3.Chciałbym dodać możliwość tworzenia jakiegoś prostego profilu, np coś takiego:

Swarmer
E-mail:--------------------------
GG:-----------------------------
Skype:--------------------------
O mnie:-------------------------
Posty na forum: 0
Projekty: 0
Gotowe programy: 0
Poradniki: 0


Wiem że to trochę trudne, ale proszę, jeśli wiecie co zrobić chociaż podpowiedzcie.

No to tyle. Proszę o szybką odpowiedź.
Swarmer
eider
Posty: 1276
Rejestracja: 12 cze 2009, 08:09:47
Płeć: Mężczyzna
User Agent: Firefox Windows 1280x1024
Kontakt:

Re: Problemy z panelem logowania

Post autor: eider »

Posty na forum: 0
Znaczy mamy Ci napisać forum?
Swarmer
Posty: 19
Rejestracja: 05 gru 2010, 18:08:03
Strona na CBA.pl: http://www.swarmgames.y0.pl/
Płeć: Niewybrana
User Agent: Opera Windows 1920x1080

Re: Problemy z panelem logowania

Post autor: Swarmer »

Nie, forum mam, tylko potrzebuję, by po zalogowaniu nie był widoczny formularz logowania, ale jakiekolwiek napisy (co tam ma być to już sobie zrobię)

---- EDIT ----

A, w drugim skrypcie bez tego na żółto, ten element mi nie wychodził, więc jak skopiowałem, to niechcący wraz z podpowiedzią.

---- EDIT ----

A da się to zrobić za pomocą zmiennych :?:

---- EDIT ----

Albo że gdy sesja "log" jest podtrzymywana to widać panel użytkownika, a gdy nie, to formularz logowania :?:
eider
Posty: 1276
Rejestracja: 12 cze 2009, 08:09:47
Płeć: Mężczyzna
User Agent: Firefox Windows 1280x1024
Kontakt:

Re: Problemy z panelem logowania

Post autor: eider »

Albo że gdy sesja "log" jest podtrzymywana to widać panel użytkownika, a gdy nie, to formularz logowania :?:
Chodzi Ci o coś w stylu:

Kod: Zaznacz cały

if(isset($_SESSION['log'])) {
   echo 'asd';
}
else
{
   logowanie
} 
?
Swarmer
Posty: 19
Rejestracja: 05 gru 2010, 18:08:03
Strona na CBA.pl: http://www.swarmgames.y0.pl/
Płeć: Niewybrana
User Agent: Opera Windows 1920x1080

Re: Problemy z panelem logowania

Post autor: Swarmer »

A w którym miejscu skryptu to umieścić :?:
eider
Posty: 1276
Rejestracja: 12 cze 2009, 08:09:47
Płeć: Mężczyzna
User Agent: Firefox Windows 1280x1024
Kontakt:

Re: Problemy z panelem logowania

Post autor: eider »

Przed formularzem logowania, tam gdzie masz napis "logowanie" ma być formularz logowania
Swarmer
Posty: 19
Rejestracja: 05 gru 2010, 18:08:03
Strona na CBA.pl: http://www.swarmgames.y0.pl/
Płeć: Niewybrana
User Agent: Opera Windows 1920x1080

Re: Problemy z panelem logowania

Post autor: Swarmer »

ok, to już robię

---- EDIT ----

coś nie wychodzi, daję:

Kod: Zaznacz cały

if(isset($_SESSION['log'])) {
   echo 'asd';
}
else
{
<form  action="login.php" method="post">

<strong>Login:</strong><input name="konto" type="text" value="" /><br>

<strong>Hasło:</strong><input name="password" type="password" value="" /><br>

<input type="submit" value="Zaloguj" />

</form>
} 
a na stronie wychodzi

if(isset($_SESSION['log'])) { echo 'asd'; } else {
Login:-----------------
Hasło:-----------------

} Nie masz jeszcze konta? Zarejestruj się!


i nic.
LaY
Posty: 1120
Rejestracja: 28 sty 2009, 15:20:07
Lokalizacja: Silesia
Płeć: Mężczyzna
User Agent: Opera Windows 1920x1080
Kontakt:

Re: Problemy z panelem logowania

Post autor: LaY »

Bo musisz to ująć w znaczniki <?php i ?>

Kod: Zaznacz cały

<?php
if(isset($_SESSION['log'])) {
   echo 'asd';
}
else
{
?>
<form  action="login.php" method="post">

<strong>Login:</strong><input name="konto" type="text" value="" /><br>

<strong>Hasło:</strong><input name="password" type="password" value="" /><br>

<input type="submit" value="Zaloguj" />

</form>
<?php
} 
?>
Niě nerwuj hanysa
Swarmer
Posty: 19
Rejestracja: 05 gru 2010, 18:08:03
Strona na CBA.pl: http://www.swarmgames.y0.pl/
Płeć: Niewybrana
User Agent: Opera Windows 1920x1080

Re: Problemy z panelem logowania

Post autor: Swarmer »

dobra, jest, a żeby po zalogowaniu pokazało się coś innego, to co zrobić :?:

---- EDIT ----

wiem, że trzeba coś zmienić tu:

Kod: Zaznacz cały

if(isset($_SESSION['log'])) 
a.e co dać zamiast "isset" :?:
eider
Posty: 1276
Rejestracja: 12 cze 2009, 08:09:47
Płeć: Mężczyzna
User Agent: Firefox Windows 1280x1024
Kontakt:

Re: Problemy z panelem logowania

Post autor: eider »

omg, człowieku zabierz się za podstawy... isset to funkcja sprawdzająca czy coś istnieje... IS SET, np. isset($_SESSION['asd']) zwraca true gdy stworzymy sesję asd, a false gdy taka sesja nie istnieje. Aby zamienić tekst po zalogowaniu, należy zaglądnąć do linijki echo 'asd'; i zmienić asd na coś innego.
Swarmer
Posty: 19
Rejestracja: 05 gru 2010, 18:08:03
Strona na CBA.pl: http://www.swarmgames.y0.pl/
Płeć: Niewybrana
User Agent: Opera Windows 1920x1080

Re: Problemy z panelem logowania

Post autor: Swarmer »

czyli jak to zrobić, bo męczę się i jedyne, co mi się udało to rozwalenie skryptu do tego stopnia, że musiałem go ładować z pliku zapasowego
:(
LaY
Posty: 1120
Rejestracja: 28 sty 2009, 15:20:07
Lokalizacja: Silesia
Płeć: Mężczyzna
User Agent: Opera Mini mobile 240x320
Kontakt:

Re: Problemy z panelem logowania

Post autor: LaY »

Zainstaluj jakiegoś cms'a.
Niě nerwuj hanysa
Swarmer
Posty: 19
Rejestracja: 05 gru 2010, 18:08:03
Strona na CBA.pl: http://www.swarmgames.y0.pl/
Płeć: Niewybrana
User Agent: Opera Windows 1920x1080

Re: Problemy z panelem logowania

Post autor: Swarmer »

ok, i przepraszam za to wszystko, ale dopiero zaczynam w php i sie trochę nie łapię we wszystkim :(
LaY
Posty: 1120
Rejestracja: 28 sty 2009, 15:20:07
Lokalizacja: Silesia
Płeć: Mężczyzna
User Agent: Opera Windows 1920x1080
Kontakt:

Re: Problemy z panelem logowania

Post autor: LaY »

Php najlepiej uczyć się z kursów w necie i z manuala.
http://php.net/manual/pl/index.php

Co do Twojego kodu:

Kod: Zaznacz cały

<?php
 
if (isset($_POST['konto']) and isset($_POST['password']) ) 
{
require('users/config.php');
$konto=mysql_real_escape_string(trim($_POST['konto']));
$password=mysql_real_escape_string(trim($_POST['password']));
if ($konto!="" and $password!="") 
{
   $password = sha1(md5($password));
   $zapytanie="SELECT id FROM user WHERE login='$konto' and password ='$password'";
   $temp=mysql_query($zapytanie) or die("Wystąpił błąd");
   $ile=mysql_num_rows($temp);
   $temp=mysql_fetch_array($temp);
   $id=$temp['id'];
 
    if ($ile==1)
    {
     $_SESSION['log']=1;                                        //Dodanie sesji log aby skrypt wiedział że użytkownik jest zalogowany
     $_SESSION['user_id']=$id;
     $_SESSION['login']=$konto;
     echo('<center>Zostales zalogowany. <a href=index.php>Kliknij tutaj</a></center>');
    }
   else echo ('<center>Podales zle dane. Kliknij wstecz aby sprobowac ponownie.</center>');
}
}
else
{
?>
<form  action="login.php" method="post">
 
<strong>Login:</strong><input name="konto" type="text" value="" /><br>
 
<strong>Hasło:</strong><input name="password" type="password" value="" /><br>
 
<input type="submit" value="Zaloguj" />
 
</form>
<?
}
?>
Resztę napisał eider

Sorry za tamto spławienie, ale to potrafi wyprowadzić z równowagi gdy ludzie po raz n-ty pytają o to samo.
Niě nerwuj hanysa
Swarmer
Posty: 19
Rejestracja: 05 gru 2010, 18:08:03
Strona na CBA.pl: http://www.swarmgames.y0.pl/
Płeć: Niewybrana
User Agent: Firefox Windows 1920x1080

Re: Problemy z panelem logowania

Post autor: Swarmer »

Wiem, że to już wkurzające (dla mnie też :x ) ale ciągle mi nie wychodzi. Na co mam zmienić to asd, bo mi się od tego żyć odechciewa.
ODPOWIEDZ