Űrlap -> Adatbázis -> E-mail küldés

Indította Tudvari, 2014 március 02, 01:31:15 DÉLUTÁN

Előző téma - Következő téma

Tudvari

San andreasban használatos kódolás.MD5 jobb,de San Andreas Multiplayerben ezt használtam a jelszavak titkosítására,ezért szeretném itt is.


Tudvari

Egy kis tanyasi samp szervernek tök mind1.Akkor melyik hast lehet használni alapból php-ben?

NevemSenki

Több féle használható.

http://us2.php.net/manual/en/function.hash.php

A másik kérdés az, hogy kell egy Login rendszer is akkor, ez lenne az egész lényege nem?

Üdv.: Senki
Csak a Puffin ad neked erőt, és mindent lebíró akaratot!

Tudvari

az majd később.De ha van szabad időd,megcsinálhatod :D de tényleg nekem a regisztráció is elég jelenleg.

NevemSenki

Tudvari.

Akkor kezdjük el!

Először is írj egy MySql kapcsolódást, majd az Imput mezőket.

Üdv.: Senki
Csak a Puffin ad neked erőt, és mindent lebíró akaratot!

Tudvari

#21
http://pastebin.com/PcH8numm

Ui.: Közben kijavítottam a hibát.Elírás volt az insertes queryben és az egyik form value-jét is elírtam.A regisztráció működik.És az udb hashelés is jól működik.


1 kérdés:
else
{
print '<li>Minden mezőt ki kell töltened!</li>';
}


A jelenlegi helyén ez egyből lefut,ha megnyitom az oldalt,és én ezt nem szeretném.Azt szeretném,hogy csak postolás után írja ki ezt,ha nem töltött ki valamit.

NevemSenki

#22
Idézetet írta: Tudvari Dátum 2014 március 06, 03:32:02 DÉLUTÁN
http://pastebin.com/PcH8numm

Ui.: Közben kijavítottam a hibát.Elírás volt az insertes queryben és az egyik form value-jét is elírtam.A regisztráció működik.És az udb hashelés is jól működik.


1 kérdés:
else
{
print '<li>Minden mezőt ki kell töltened!</li>';
}


A jelenlegi helyén ez egyből lefut,ha megnyitom az oldalt,és én ezt nem szeretném.Azt szeretném,hogy csak postolás után írja ki ezt,ha nem töltött ki valamit.

Ezt:

Kód (php) Kijelölés


else
{
print '<li>Minden mezpt ki kell töltened!</li>';
}


Cseréld ki erre:

Kód (php) Kijelölés

elseif(!isset($_POST['nev']) or !isset($_POST['jelszo1']) or !isset($_POST['jelszo2']))
{
print '<li>Minden mezpt ki kell töltened!</li>';
}


Frissítés!

A kód hibás, nem látja el a kellő feladatot!

Üdv.: Senki
Csak a Puffin ad neked erőt, és mindent lebíró akaratot!

NevemSenki

#23
Hali.

Most nézem hogy mekkora átkozott nagy hülyeséget írtam az előző Post-omba! 16 óra munka ezt teszi az emberrel....

Az első If-nél megnézed hogy van-e Post-olt adat, és csak akkor lép be ha mind a 3 Post-olt adat megvan.
Azért dobja ki neked az elején is ezt, mert ténylegesen csak azt vizsgálja hogy mind a 3 Post-ot adat megvan-e.
Mivel az elején egy darab sincsen, így hát az Else lép érvénybe, és kiírja a szöveget.

Így néz ki az eleje a dolognak:

Kód (php) Kijelölés
if(isset($_POST['nev']) && isset($_POST['jelszo1']) && isset($_POST['jelszo2']))
{ // E-mail


Ha van Post nev és jelszo1 és jelszo2 akkor belép és végrehajtja ami a kapcsos zárójelen belül van.

Ha kicsit módosítod, hogy azt is nézze hogy van-e Post-olt adat, és azt is ha az igazából nem vesz fel értéket, akkor az valahogy így nézne ki:

Kód (php) Kijelölés
if(isset($_POST['nev']) AND $_POST['nev'] != '' AND isset($_POST['jelszo1']) AND $_POST['jelszo1'] != '' AND isset($_POST['jelszo2']) AND $_POST['jelszo2'] != '')
{ // E-mail


Itt megnézi hogy van-e Post-olt nev és az nem egyenlő nullával, van-e Post-olt jelszo1 és az nem egyenlő nullával, van-e Post-olt jeszo2 és az nem egyenlő nullával.

Ha minden feltétel teljesül, vagyis megvan mind a 3 Post-olt adat, és azok közül mindegyik vesz fel valamilyen értéket, akkor belép a kapcsos zárójelek közé. Amennyiben valami nem jó, akkor az If, Else ága lép érvénybe, és kiírja a szöveget.

Az előző hozzászólásomat felejtsd el, elnézést a hibáért!
Cseréld ki ezt:

Kód (php) Kijelölés
if(isset($_POST['nev']) && isset($_POST['jelszo1']) && isset($_POST['jelszo2']))
{ // E-mail


Erre:

Kód (php) Kijelölés
if(isset($_POST['nev']) AND $_POST['nev'] != '' AND isset($_POST['jelszo1']) AND $_POST['jelszo1'] != '' AND isset($_POST['jelszo2']) AND $_POST['jelszo2'] != '')
{ // E-mail


A többit hagyd változatlanul!

Üdv.: Senki
Csak a Puffin ad neked erőt, és mindent lebíró akaratot!

Tudvari

Még nem tudtam letesztelni,de előre is köszi. :D
A sessionokről írnál pár dolgot?Hogy elkészíthessem a bejelentkezést is?Mire figyeljek stb.

NevemSenki

A SESSION igazából egy szerver oldali változó.
Én mindig úgy fogtam fel, hogy egy változó, ami mindig az User-el futkos az oldalon.

Úgy kezeled mint minden más változót, tárolhatsz benne bármit.

Mindenek előtt indítasz egy SESSION Strat-al. Mikor sikeres a bejelentkezés létrehozol SESSION változókat, ha kijelentkezik akkor meg DESTROY.

Nincsen benne semmi ördöngösség, egyszerű ha kis weboldalról van szó. 

Üdv.: Senki
Csak a Puffin ad neked erőt, és mindent lebíró akaratot!

Tudvari

Rendben köszi,megpróbálok valamit kezdeni vele.
Ez HTML kérdés lenne:
Hogy lehet olyan felület csinálni,amiben a menüben lévő gombok "fülként" funkcionálnak.Szóval előre betölti őket az oldal,és utána már egyből behozza pl.: a regisztráció fült,ha rákattintasz.Ilyen layer szerkezetű valamire gondoltam.

Szilárd

Lényegében így nézne ki egy szimpla login rendszer. (Tényleg nagyon szimpla)
Kód (php) Kijelölés

<?php
session_start
(); // Ez fontos, mert enelkul nem fog tudni hozzaferni a $_SESSION globalis valtozokhoz

if
(
      isset(
$_SESSION["felhasznalo"])    &&
      
$_SESSION["felhasznalo"] != ""     &&
      isset(
$_SESSION["jelszo"])            &&
      
$_SESSION["jelszo"] != ""
)
{
   
// Ha mar be van allitva a ket $_SESSION globalis valtozo
   // Akkor automatikusan redirecteljuk a felhasznalot az "admin.php" fajlra
   
header("Location: admin.php");
}

if (
      isset(
$_POST["felhasznalo"])    &&
      
$_POST["felhasznalo"] != ""     &&
      isset(
$_POST["jelszo"])            &&
      
$_POST["jelszo"] != ""
)
{
   
$_SESSION["felhasznalo"] = $_POST["felhasznalo"];
   
$_SESSION["jelszo"] = $_POST["jelszo"];

   
// Ezek utan redirecteled az "admin.php" fajlra
   
header("Location: admin.php");

   
// Az "admin.php" fajlban pedig szinten session_start();-tal kezded a dolgokat
   // Majd leellenorzod, hogy letezik-e $_SESSION valtozo
// if vege
else
{
?>

<!DOCTYPE html>
<html lang="hu">
   <head>
      <meta charset="utf8">
      <title>Szimpla bejelentkezes</title>
   </head>
   <body>
      <form method="post" action="<?php $_SERVER["PHP_SELF"?>">
         <label for="felhasznalo">Felhasznalonev: </label><input type="text" name="felhasznalo" /><br />
         <label for="jelszo">Jelszo: </label><input type="password" name="jelszo" /><br />
         <input type="submit" name="submit" value="Bejelentkezes" />
      </form>
   </body>
</html>
<?php
// else vege
?>



Kód (php) Kijelölés

session_destroy();


Nem minden esetben jó szerintem, ha ezt használod, mert lehet, hogy van még 1-2 $_SESSION globális változód, amit tárolsz, de azoknak a tartalmát meg szeretnéd tartani a kijelentkezés után is, de ugye, ha kiadsz egy destroy utasítást, akkor azok is törlődnek.

Én személy szerint a kijelentkezést valahogy így oldanám meg:
Kód (php) Kijelölés

function logout()
{
   unset($_SESSION["felhasznalo"]);
   unset($_SESSION["jelszo"]);
   // Es meg amit semmisse akarsz tenni
   // Es a tobbi fuggvenyhivas, amit el akarsz vegezni a "logout" utan (pl. redirect, stb...)
}


Szilárd
Java / C# / Swift Programmer

Apple
----------
OS X / iOS User
iPhone 6 Plus
iPad Air 2
MacBook Pro 13" Retina

Tudvari

Köszi,megpróbálok majd valamit kihoz belőle :D Majd jelentkezem.

NevemSenki

Hali.

Nekem az unset(); nem minden esetben működött úgy emlékszem.
Lehet én rontottam el valamit, de azért erre figyelj oda.

Üdv.: Senki
Csak a Puffin ad neked erőt, és mindent lebíró akaratot!

Powered by EzPortal