Registrace a její potvrzení adminem – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Registrace a její potvrzení adminem – PHP – Fórum – Programujte.comRegistrace a její potvrzení adminem – PHP – Fórum – Programujte.com

 

lubos
~ Anonymní uživatel
95 příspěvků
22. 3. 2008   #1
-
0
-

Dobrý den,
Chtěl bych se zeptat na jeden malý dotázek. Jak udělám z tohoto scriptu:

<?php

ob_start(); // cachujeme vystup
if(isset($_POST['sent'])){ // pokud byl odeslan formular pokracuj timto
$jmeno=trim($_POST['jmeno']);
$heslo1=$_POST['heslo'];
$heslo2=$_POST['heslo_znovu'];
$mail=trim($_POST['mail']);
$web=trim($_POST['web']);
if($jmeno=="" or $heslo1=="" or $mail==""){ // pokud nebylo vyplněno něco z toho, co je povinné, dáme vědět a skript ukončíme
echo "Nebyly vyplněny všechny povinné údaje!";
}else{ // povinné udaje vyplněny vsechny
require "db.php"; // pripojime se k databazi
$PocetStejnych=mysql_result(mysql_query("SELECT COUNT(*) FROM `uzivatele` WHERE `jmeno`='$jmeno' OR `mail`='$mail'"),0);
if($PocetStejnych!=0){ // pokud v db je jiz takove jmeno nebo heslo...
echo "Zadané jméno nebo email je již používán někým jiným!!!";
}elseif($heslo1 != $heslo2){ // pokud se hesla nerovnají
echo "Zadané hesla se neshodují!!!";
}else{ // hesla se shoduji, vlozime tedy data do databaze
$heslo=md5($heslo1); // zahashujeme heslo
if($web=="http://" or $web==""){ //pokud nezadal web tak dame promennou web prazdnou
$web="";
}
$VlozData=mysql_query(" INSERT INTO uzivatele (`jmeno`,`heslo`,`mail`,`web`,`prava`)
VALUES
('$jmeno', '$heslo', '$mail', '$web', '0') ") or die (mysql_error());
// Jako posledni hodnota je "0", to jsou ty prava uzivatele.
if($VlozData){
echo "Data byla uložena";
}
}

}
}else{
echo "Nebyl odeslán formulář";
}
// pokud pouzijete HEADER LOCATION tak by pred nim nemelo byt zadne platne ECHO
echo "<a href='index.php'>index</a>";
// samozrejme zde muze byt presmerovani na jinou stranku pomoci
// header ("Location: index.php");
ob_end_flush();
?>
ten samý script, jen s tou změnou, že by mi, jako adminovi, došel e-mail o registraci a já ji buď potvrdím, nebo odmítnu.Tabulku v DB mám:

CREATE TABLE `uzivatele` (

`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`jmeno` VARCHAR( 32 ) NOT NULL ,
`heslo` VARCHAR( 32 ) NOT NULL ,
`mail` VARCHAR( 64 ) NOT NULL ,
`web` VARCHAR( 128 ) NOT NULL ,
`prava` TINYINT NOT NULL ,
UNIQUE (`jmeno` , `mail` )
) ENGINE = innodb CHARACTER SET utf8 COLLATE utf8_czech_ci;
a llogin_zpracuj.php mám:



<?php
ob_start();
/*
* Tetno soubor zjisti zda se takovy uzivatel s takovym heslem v databazi nachazi.
* Pokud ano, do sessions o tom ulozime informaci.
* Jinak se samozrejme presmerujeme zpet a dame uzivateli vedet, ze zadal spatne udaje
*/
session_start(); // Budeme pracovat se session, musĂ­me je nastartovat.
if(isset($_POST['jmeno'])){
require 'db.php';
$name = $_POST['jmeno'];
$pass = md5($_POST['heslo']);
$query = MySQL_Query("SELECT * FROM `uzivatele` WHERE `jmeno` = '$name' and `heslo` = '$pass'") or die (mysql_error());
// Vybereme uživatele se zadaným jménem a heslem
$Vysledek = mysql_fetch_array($query);
$Vysledek['jmeno'];
if($Vysledek['jmeno']){ // pokud tato proměnná obsahuje data, bylo zadané správné jméno a heslo
// Do sessions si uložíme pár informací o přihlášeném
$_SESSION['prihlasen'] = 1;
$_SESSION['login'] = $Vysledek['jmeno'];
$_SESSION['UserId'] = $Vysledek['id'];
$_SESSION['UserWeb'] = $Vysledek['web'];
$_SESSION['UserMail'] = $Vysledek['mail'];
$_SESSION['Prava'] = $Vysledek['prava'];
$bl="index.php";
header("location: $bl"); // přesměrujeme na index
}else{
$bl="index.php?Alert=6";
header("location: $bl"); // špatně zadané údaje
// echo "Zadal jsi špatné údaje";
}
mysql_free_result($query);
}else{
echo "Zde nic nenĂ­;-)";
}
ob_end_flush();
?>

Mockrát děkuji za Vaši odpověď

Nahlásit jako SPAM
IP: 217.197.155.–
Tocimanko0
Grafoman
22. 3. 2008   #2
-
0
-

Len pre informáciu: Kód sa dáva zvyčajne do tagov [ code ][ /code ] a keď je kód obdobne dlhý ako je ten tvoj, dáva sa už len zo slušnosti do prílohy.

Nahlásit jako SPAM
IP: 195.91.54.–
hrach
~ Redaktor
+1
Boss
23. 3. 2008   #3
-
0
-

nikdo asi nemá náladu ti to číst a řešit za tebe, zkus sám přemýšlet. oebcný postup je tento:
registraci normálně dokončit, jen nechat u ní příznak (nějaký nový sloupec), že není potvrzená. odslání emailu snad není problém.
admin pak registraci potrvdí.

Nahlásit jako SPAM
IP: 193.179.169.–
http://jan.skrasek.com@hrachcz – webdeveloper
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 17 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý