Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> tworzenie sklepu internetowego, Problemy i pytania
kujol
post
Post #1





Grupa: Zarejestrowani
Postów: 324
Pomógł: 27
Dołączył: 21.07.2013

Ostrzeżenie: (0%)
-----


Witam, tworzę swój pierwszy silnik pod sklep internetowy, ma to być najprostszy silnik z kilkoma funkcjami, który z czasem zostanie rozbudowany.
W związku z tym mam kilka pytań(IMG:style_emoticons/default/biggrin.gif)
Tworząc sklep wszystkie informacje o produktach oraz podstronach(które mają jakieś funkcje np. dodawanie produktu) będę trzymał w bazie danych.
Produkty będę dodawał za pomocą dodawania rekordu oraz będę wyświetlał ten rekord w celu uzyskania "efektu" dodanego przedmiotu.
To mniej więcej wiem jak zrobić, lecz problem mam z tym jak dodawać zdjęcia. Np. na stronie jest 10 przedmiotów jeden pod drugim i one mają swoje zdjęcia miniaturki. I właśnie tego na razie nie wiem, dlatego proszę o pomoc:)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kujol
post
Post #2





Grupa: Zarejestrowani
Postów: 324
Pomógł: 27
Dołączył: 21.07.2013

Ostrzeżenie: (0%)
-----


Małe modyfikacje systemu logowania, teraz powinno być lepiej. Dodałem filtrowanie danych, Hashowanie hasła, sprawdzanie budowy adresu email, loginu i hasła.
Demo dostępne tutaj
Całość można pobrać tutaj, jeśli komuś się przyda
Wygląda to tak:

index.php

Kod
<?php
session_start();

mysql_connect("host", "login", "haslo")or die("Nie można nawiązać połączenia z bazą");    //łącze z bazą danych
mysql_select_db("baza")or die("Wystąpił błąd podczas wybierania bazy danych");

echo "<center>$_SESSION[zle]</center>";
unset($_SESSION['zle']);

echo "<center>$_SESSION[wymagane]</center>";
unset($_SESSION['wymagane']);

echo "<center>$_SESSION[uzupelnij]</center>";
unset($_SESSION['uzupelnij']);

echo "<center>$_SESSION[dostep]</center>";
unset($_SESSION['dostep']);

echo "<center>$_SESSION[logut]</center>";
unset($_SESSION['logut']);


?>
<html>
<center>
<form method="POST" action="logowanie.php">
<b>login:</b><input type="text" name="login"><br />
<b>haslo:</b><input type="password" name="haslo"><br />
<input type="submit" value="zaloguj się" name="zaloguj"><br />
</form>
<b>Jesli nie jesteś zalogowany kliknij </b><a href="formularz.php"><b>tutaj</b></a>
</center>
</html>


logowanie.php

Kod
<?
session_start();    //rozpoczyna sesję

mysql_connect("host", "login", "haslo")or die("Nie można nawiązać połączenia z bazą");    //łącze z bazą danych
mysql_select_db("baza")or die("Wystąpił błąd podczas wybierania bazy danych");

function filtruj($filtracja)

{
if(get_magic_quotes_gpc())

$filtracja = stripslashes($filtracja);     //usuwa slashe

return mysql_real_escape_string(htmlspecialchars(trim($filtracja)));    // usuwa spacje, tagi html oraz niebezpieczne znaki
}

$login = filtruj($_POST['login']);        //pobiera dane z formularza
$haslo = filtruj($_POST['haslo']);

if (isset($_POST['zaloguj']))    //sprawdza czy użytkownik wcisną przycisk zaloguj    

if(!empty($_POST['login']) AND !empty($_POST['haslo']))    //sprawdza czy użytkownik wypełnił wszystkie pola

if (mysql_num_rows(mysql_query("SELECT login haslo FROM uzytkownicy1 WHERE login = '".$login."' && haslo = '".md5($haslo)."' ")) > 0 )        //sprawdza czy użytkownik o podanym loginie i haśle istnieje w bazie

{
$_SESSION['zalogowany'] = '1';        //zapisuje sesję
$_SESSION['login'] = $login;
header("Location: dziala.php");
}

else    //jeśli użytkownik o podanym loginie i haśle nie istnieje wykonuje instrukcje

{
$_SESSION['zle'] = 'Podano zle dane';
header("Location: index.php");
}

else    //jeśli użytkownik nie wypełnił wszystkich pól

{
$_SESSION['wymagane'] = 'Wypełnij wszystkie pola';
header("Location: index.php");
}

else    //jeśli ktoś próbuje wejść na stronę z adresu

{
$_SESSION['uzupelnij'] = 'Najpierw uzupelnij wszystkie pola';
header("Location: index.php");
}

?>


formularz.php

Kod
<?
session_start();

mysql_connect("host", "login", "haslo")or die("Nie można nawiązać połączenia z bazą");    //łącze z bazą danych
mysql_select_db("baza")or die("Wystąpił błąd podczas wybierania bazy danych");

echo "<center>$_SESSION[uzupelnij]</center>";
unset($_SESSION['uzupelnij']);

echo "<center>$_SESSION[wymagane]</center>";
unset($_SESSION['wymagane']);

echo "<center>$_SESSION[adres]</center>";
unset($_SESSION['adres']);

echo "<center>$_SESSION[log]</center>";
unset($_SESSION['log']);

echo "<center>$_SESSION[has]</center>";
unset($_SESSION['has']);

echo "<center>$_SESSION[zle]</center>";
unset($_SESSION['zle']);

echo "<center>$_SESSION[email]</center>";
unset($_SESSION['email']);

echo "<center>$_SESSION[haslo]</center>";
unset($_SESSION['haslo']);

echo "<center>$_SESSION[dodano]</center>";
unset($_SESSION['dodano']);
?>

<html>
<center>
<form method="POST" action="rejestracja.php">
<b>Twoj login:</b><input type="text" name="login"><br />
<b>Twoje haslo:</b><input type="password" name="haslo"><br />
<b>Powtorz haslo:</b><input type="password" name="haslo1"><br />
<b>Adres email:</b><input type="text" name="email"><br />
<input type="submit" value="zarejestruj się" name="zarejestruj"><br />
</form>
<b>Powrot na strone logowania </b><a href="index.php"><b>tutaj</b></a>
</center>
</html>


rejestracja.php

Kod
<?php
session_start();

mysql_connect("host", "login", "haslo")or die("Nie można nawiązać połączenia z bazą");    //łącze z bazą danych
mysql_select_db("baza")or die("Wystąpił błąd podczas wybierania bazy danych");

function filtruj($filtracja)

{
if(get_magic_quotes_gpc())

$filtracja = stripslashes($filtracja);     //usuwa slashe

return mysql_real_escape_string(htmlspecialchars(trim($filtracja)));    // usuwa spacje, tagi html oraz niebezpieczne znaki
}

$login=filtruj($_POST['login']);    //pobiera dane z formularza
$haslo=filtruj($_POST['haslo']);
$haslo1=filtruj($_POST['haslo1']);
$email=filtruj($_POST['email']);

if (isset($_POST['zarejestruj']))        //sprawdza czy użytkownik wcisną przycisk zarejestruj    

if (!empty($_POST['login']) AND !empty($_POST['haslo']) AND !empty($_POST['haslo1']) AND !empty($_POST['email']))    //sprawdza czy zostały uzupełnione wszystkie pola

if(preg_match('/^[a-zA-Z0-9\.\-_]+\@[a-zA-Z0-9\.\-_]+\.[a-z]{2,4}$/D', $_POST['email']))    //sprawdza poprawność struktury adresu email

if(preg_match('/^[a-zA-Z0-9\-_]{4,30}$/D', $_POST['login']))        //sprawdza poprawność struktury loginu

if(preg_match('/^[a-zA-Z0-9\-_]{6,30}$/D', $_POST['haslo']))        //sprawdza poprawność struktury hasła

if ($haslo == $haslo1)        //sprawdza czy podane chasła są takie same

if (mysql_num_rows(mysql_query("SELECT email FROM uzytkownicy1 WHERE email = '".$email."' ")) == 0 )    //sprawdza czy użytkownik o podanym adresie email istnieje

if (mysql_num_rows(mysql_query("SELECT login FROM uzytkownicy1 WHERE login = '".$login."' ")) == 0 )    //sprawdza czy użytkownik o podanym logonie  istnieje
    
{
mysql_query("INSERT INTO `uzytkownicy1` (`login`,`haslo`,`email`) VALUES ('".$login."','".md5($haslo)."','".$email."')");        //zapisuje do bazy    
$_SESSION['dodano'] = 'Dodano pomyslnie';
header("Location: formularz.php");
}

else
{
$_SESSION['haslo'] = 'Uzytkownik o podanym loginie juz istnieje';
header("Location: formularz.php");
}


else

{
$_SESSION['email'] = 'Uzytkownik o podanym adresie email juz istnieje';
header("Location: formularz.php");
}

else

{
$_SESSION['zle'] = 'Hasla nie sa identyczne';
header("Location: formularz.php");
}

else
{
$_SESSION['has'] = 'Haslo jest za krotkie, lub zawiera nie dozwolone znaki<br />( min. 6 max. 30 znakow, wtym - i _ )';
header("Location: formularz.php");
}

else
{
$_SESSION['log'] = 'Login jest za krotki, lub zawiera nie dozwolone znaki<br />( min. 4 max. 30 znakow, wtym - i _ )';
header("Location: formularz.php");
}

else
{
$_SESSION['adres'] = 'Nie poprawny adres email';
header("Location: formularz.php");
}

else

{
$_SESSION['wymagane'] = 'Wypełnij wszystkie pola';
header("Location: formularz.php");
}

else

{
$_SESSION['uzupelnij'] = 'Najpierw uzupelnij wszystkie pola';
header("Location: formularz.php");
}
?>


dziala.php (jakaś strona dla zalogowanych)

Kod
<?
session_start();

if($_SESSION['zalogowany'] == 1)
{
echo "Witaj $_SESSION[login]<br />Tu maja dostep tylko zalogowani<br /><a href=wyloguj.php>Wyloguj się</a>";
}

else
{
$_SESSION['dostep'] = 'Nie masz prawa dostepu';
header("Location: index.php");
}
?>


wyloguj.php

Kod
<?
session_start();

if(isset($_POST['wyloguj']))

$_SESSION['zalogowany'] = '0';
session_destroy();

header("Location: logut.php");
?>


logut.php

Kod
<?
session_start();

$_SESSION['logut'] = 'Zostałeś wylogowany';
header("Location: index.php");
?>


Jak można wyświetlić np. 5 najnowszych rekordów z bazy.
Mam pole z datą, lecz rekordy ustawiają się w bazie w dół, czyli najnowsze na dole. I dlatego nie mogę ich wyświetlić poprzez
dodanie
Kod
LIMIT 5

ponieważ to mi pokaże te pierwsze, czyli ostatnie.
Można to jakoś zmienić?
Go to the top of the page
+Quote Post

Posty w temacie
- kujol   tworzenie sklepu internetowego   21.07.2013, 14:54:00
- - nospor   Upload pliku/zdjecia http://www.php.net/manual/pl/...   21.07.2013, 15:30:25
- - Wazniak96   Uploaduj pełnowymiarowe zdjęcia(tak jak napisal No...   21.07.2013, 17:34:14
- - kujol   Dzięki. Mam kolejne pytanie:D Zrobiłem takie coś, ...   21.07.2013, 20:14:30
- - pitu   Wraz z pobranymi danymi pobieraj id. Przyciski moż...   21.07.2013, 21:16:42
- - gitbejbe   jeśli to Twój 1 taki projekt, to zamiast linków mo...   22.07.2013, 06:17:46
- - kujol   Mam takie coś, ma to za zadanie wyświetlać rekordy...   22.07.2013, 10:40:37
- - hind   @kujol: Nie zadziała, bo za każdym razem będzie no...   22.07.2013, 12:30:14
- - zebrowski1073   Zgadzam się z tym że zawsze będzie zwracał pierwsz...   22.07.2013, 13:53:52
- - kujol   Tworze swój skrypt logowania, tylko coś jest nie t...   22.07.2013, 21:19:55
- - zebrowski1073   if (mysql_num_rows(mysql_query("SELECT login,...   23.07.2013, 06:38:21
- - CuteOne   1. Nie trzymaj w sesji hasła... 2. Po co trzymać ...   23.07.2013, 08:14:55
- - kujol   Mam takie coś, co wyświetla mi wszystkie loginy z ...   24.07.2013, 20:53:04
- - pitu   W pierwszym pliku zmień przycisk, czyli linijkę: K...   25.07.2013, 02:27:57
- - kujol   Jak można zrobić takie coś aby wyświetlało mi iloś...   27.07.2013, 09:35:08
- - Wazniak96   1 używasz funkcji mysql_num_rows 2. To o czym pi...   27.07.2013, 10:38:23
- - kujol   Wysyłam prościutkie zapytanie o to czy użytkownik ...   1.08.2013, 18:13:21
- - pitu   po instrukcji if() nie stawia się średnika ";...   1.08.2013, 18:20:50
- - kujol   Sprawdzam warunek if() jeśli nie zostanie on spełn...   2.08.2013, 22:20:28
- - ssstrz   chodzi ci np zeby sobie w warunku zapisac informac...   2.08.2013, 22:43:34
- - kujol   Kiedy zrobię tak: Kod$_SESSION['zle...   3.08.2013, 10:53:35
- - kristaps   ? [PHP] pobierz, plaintext ... = 'Podano zle dane...   3.08.2013, 11:37:36
- - webmaniak   Rozumiem że jest jakiś początek, no ale takie coś ...   4.08.2013, 13:05:59
- - kujol   Znalazłem takie coś: Kodfunction checkEmail...   5.08.2013, 16:04:21
- - kristaps   Obsłużysz to zwykłymi warunkami if/else.   5.08.2013, 16:15:31
- - ssstrz   daj tam gdzie masz warunki gdzie sprawdza wszystki...   5.08.2013, 16:15:44
- - kujol   Małe modyfikacje systemu logowania, teraz powinno ...   13.08.2013, 10:52:01
- - toffiak   Tak można proszę poszukać pod frazą "mysql o...   13.08.2013, 12:36:41
- - kujol   W bazie mam zapisane kategorie np. 'Dom i AGD...   19.08.2013, 17:51:13


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 07:51