Pomoc poprawienia formularza

Problemy związane ze stronami PHP

Pomoc poprawienia formularza

Postprzez dareroy » Cz sie 05, 10 21:51

Witam, ostatnio zacząłem robić stronę zupełnie od podstaw... Coś tam umiem, ale nie wiem, jak wypełnić formularz rejestracyjny i logowania w PHP...

Kod: Zaznacz cały
<?php
session_start();
ob_start();
@mysql_connect('localhost', 'user', 'pass');
@mysql_select_db('nazwa');

<form action="" method=post>
Login:<input type=text name=login>
Hasło:<input type=password name=pass>
<input type=submit name=loguj value=Zaloguj>
</form>
<?php
if (isset($_POST['loguj'])) {
    if (empty($_POST['login']) || empty($_POST['pass'])) {
        echo 'Wypełnij wszystkie pola';
    } else {
        $query = mysql_fetch_array(mysql_query('select * from users where login="'.mysql_real_escape_string(htmlspecialchars($_POST['login'])).'" and pass="'.mysql_real_escape_string($_POST['pass']).'"'));
        if ($query) {
            $_SESSION['login'] = 'login';
// Z przekierowaniem do innej strony (jeśli niepotrzebne, to usuń to na dole)
header('Location: stronadlausera.php');
// Z odświeżeniem strony (jeśli niepotrzebne, to usuń to na dole)
echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL=$_SERVER['PHP_SELF']">'
        } else {
    echo 'Złe hasło lub nazwa użytkownika';
                }
            }
                            }
ob_end_flush();
?>


Co mam wpisać i gdzie...

Proszę o nieodsyłanie do linków... Jest początkujący.

Pozdrawiam.
Ostatnio edytowano Pt sie 06, 10 08:55 przez dareroy, łącznie edytowano 1 raz
dareroy
 
Posty: 2
Dołączył(a): Cz sie 05, 10 21:45

Re: Pomoc w wypełnieniu

Postprzez parox » Pt sie 06, 10 02:54

Nie rozumiem pytania.

"Jak wypełnić formularz"?

Przy okazji Ci powiem że mógłbyś zadbać o bezpieczeństwo oraz estetykę. Hasła nie są hashowane, więc do bazy będzie trafiać zapytanie sprawdzające tylko hasło, zatem jeśli podasz hasło "mojehaselko123", PHP wyśle zapytanie do bazy poszukujące ów ciągu znaków w kolumnie pass.

Kod bardzo minimalnie i dziwnie napisany.

Na samej górze otworzyłeś znacznik <?php, nie zakończyłeś go, po drodze otwierasz kolejny.

Kod: Zaznacz cały
$_SESSION['login'] = 'login';


Sesja jest równa login. Zamiast login zamieść $_POST['login'] wtedy będzie nazwa użytkownika podana w formularzu.

Eh...

Kod: Zaznacz cały
<?php
session_start();
ob_start();
mysql_connect('localhost', 'user', 'pass', 'nazwa_bazy');
?>

<form action="" method=post>
Login:<input type=text name=login>
Hasło:<input type=password name=pass>
<input type=submit name=loguj value=Zaloguj>
</form>

<?php

if (isset($_POST['loguj'])) {
   if (empty($_POST['login']) || empty($_POST['pass'])) {
      echo 'Wypełnij wszystkie pola';
   } else {
      $query = mysql_fetch_array(mysql_query('select * from users where
      login="' . mysql_real_escape_string(htmlspecialchars($_POST['login'])) . '"
      and pass="' . mysql_real_escape_string($_POST['pass']) . '"'));
      if ($query) {
         $_SESSION['login'] = $_POST['login'];
         echo 'Zalogowano pomyslnie...<br />';
         echo 'Witaj ' . $_POST['login'];
         echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL=' . $_SERVER['PHP_SELF'] . '">';
      } else {
         echo 'Złe hasło lub nazwa użytkownika';
      }
   }
}

ob_end_flush();
?>


Proszę.

Działa na 100% sprawdzałem IF'ami więc bez połączenia z bazą danych.
Avatar użytkownika
parox
 
Posty: 598
Dołączył(a): Śr maja 23, 07 23:17
Lokalizacja: Prudhoe

Re: Pomoc w wypełnieniu

Postprzez dareroy » Pt sie 06, 10 08:55

dziekuje :)
dareroy
 
Posty: 2
Dołączył(a): Cz sie 05, 10 21:45


Powrót do PHP

Copyright © 2007-2011 ugu.pl
Wszelkie prawa zastrzeżone.
Polityka prywatności