Jump to content
  • Announcements

    • Xmat

      Pravidlo pro postování v TTT

      Do sekce Tipy, triky, tutoriály nepatří žádné dotazy.   Postujte sem vaše návody, tipy a různé další věci jež uznáte za vhodné sdělit zdejšímu osazenstvu, ale veškeré dotazy směřujte do sekce Všeobecná diskuse.
    • Replik

      Seznam návodů a důležitých témat v této sekci

      Pro lepší přehlednost jsem vytvořil tento seznam, který vás, méně zkušené, lépe provede touto sekcí. Věřím, že zde najdete, co hledáte. Vypsané jsou návody, které jsou oficiálně uznané jako návody. Běžné diskuze, které neposkytují postupy a rady zvěřejněny nejsou.   Instalace vlastního MaNGOS Serveru Díky těmto návodům budete (měli by jste být) schopni vytvořit a následně spustit váš vlastní server. Nastavení je pro verze s i bez datadisku.   Instalace MaNGOS Serveru (bez datadisku TBC) - Autor Benny Instalace MaNGOS Serveru (s datadiskem TBC) - Autor Malfik Instalace MaNGOS Serveru v prostředí Linux - Autor charlie Instalace MaNGOS Serveru v prostředí Linux - Autor kupkoid   Chyby a jejich řešení při přihlašování k serveru - Autor Cybe   Zálohování uživatelských dat   Dávkový soubor (BAT soubor) pro vytvoření SQL záloh - Autor Replik   Kompilování - tvoření vlastních release (revizí)   Tvorba kompilací pro Win32 (MangoScript) - Autor bLuma   Ostatní - těžko zařaditelné, ale neznamená to, že nejsou dobré   VIP Systém - Autor charlie Tvorba Webových stránek pro MaNGOS - Autor zahuba Tvorba teleportačních NPC (MangoScript) - Autor Replik Registrační web (původně předělaná SPORA) Funkční pro Antrix i MaNGOS - Autor Replik Nastavení a spuštění Minimanager pro MaNGOS - Autor BlackMartin Nastavení MaNGOS Website - Autor Artorius   Samozřejmě jsou zde i jiné návody, ale tyto jsou nejvíce používané, proto věřím, že vám budou nápomocné. Tuto sekci budeme upravovat podle potřeby. Pokud by jste něco nenašli nebo si nevěděli rady, hledejte na fóru a teprve potom založte vlastní topik. Pokud nějaký autor vytvoří kvalitní návod a chtěl by ho zveřejnit i v tomto seznamu, doporučuji, aby mi napsal zprávu skrze PM.   Díky a přeji hezký den na WoWResource   Replik
    • Aristo

      Příspěvky tam, kde nemají co dělat

      Dodržujte zákaz přispívání do topiků s repaky pokud si to zakladatelé nepřejí!! Opakované psaní příspěvků bude trestáno warnem.
    • Aristo

      Používání spoilerů

      Poslední dobou má většina uživatelů fora zvláštní nutkání postovat extrémně dlouhé texty nebo kódy, které zabírají v nejedenom případu i 80% obsahu celé stránky a hodně tak zvedají nepřehlednost v topiku. Chtěl bych všechny uživatele požádat, aby při postování citací, jakýchkoliv kódů, errorů, atp... delších než 30 řádků používali funkci spoileru.   Funkci vyvoláte příkazem [spoiler] text [/spoiler]   Ukázka:  
Sign in to follow this  
walkerman

Problém s registrací

Recommended Posts

potřeboval bych pomoct, mám registrační kód všechno jde jak má ale je zde chyba, že to neověřuje zdali je již uživatel registrován.. mohl by mi stím někdo pomoct

<!DOCTYPE HTML>
<html>
<head>
<title>Buďte nejlepší boxer</title>
<meta charset="windows-1250" />
<meta name="Author" content="">
<link rel="stylesheet" type="text/css" href="css/reset.css">
<link rel="stylesheet" type="text/css" href="css/structure2.css">
</head>

<body>
<?php
include "./nastaveni.php";// připojení k databázi

if(isset($_POST['submit'])) {

 $nick = mysql_real_escape_string($_POST['nick']);
 $heslo = mysql_real_escape_string($_POST['heslo']);
 $over_heslo = mysql_real_escape_string($_POST['over_heslo']);
 $md5_heslo = md5($heslo);
 $email = mysql_real_escape_string($_POST['email']);

 /* --- KONTROLA ZADANÝCH ÚDAJŮ --- */
 if($nick==""){
echo'Nebyl vyplněn nick!';
 }
 else if($heslo==""){
echo'Nebylo vyplněno heslo';
 }
 else if($over_heslo==""){
echo'Nebylo vyplněno ověřovací heslo';
 }
 else if($heslo!=$over_heslo){
echo'Vyplněná hesla se neshodují';
 }
 else if($email==""){
echo'Nebyl vyplněn email';
 }
 else{
$sql= mysql_query("INSERT INTO uzivatele VALUES ('','$nick','$md5_heslo','$email')") or die(mysql_error());
echo'Registrace byla úspěšně dokončena!';
 }
}
?>
<form action="#" method="post" class="box login">
<fieldset class="boxBody">
  <label>Uživatelské jméno</label>
  <input type="text" name="nick" value="<?php if(isset($_POST["nick"])){echo $_POST["nick"];}?>" size="25" tabindex="1" />
  <label>Heslo</label>
  <input type="password" name="heslo" value="" tabindex="2" required>
	  <label>Heslo znovu</label>
  <input <input type="password" name="over_heslo" value="" tabindex="2" required>
 <label>Email</label>
  <input type="text" name="email" value="<?php if(isset($_POST["email"])){echo $_POST["email"];}?>" tabindex="1" required>
</fieldset>
<footer>
	Přihlášení <a href="index.html">ZDE</a>
  <input type="submit" name="submit" class="btnLogin" value="Registrovat" tabindex="4">
</footer>
</form>
<footer id="main">
<b>Registrací souhlasíte s <a href="pravidla.php">pravidly.</a> </b>
</footer>
</body>
</html>

 

Předem děkuji všem !

Edited by walkerman

Share this post


Link to post
Share on other sites

mám registrační kód všechno jde jak má ale je zde chyba, že to neověřuje zdali je už uživatel přihlášen..

Ako môže byť ešte neregistrovaný(neexistujúci) užívateľ prihlásený?

Edited by achboDCA

Share this post


Link to post
Share on other sites

co dela mysql_real_escape_string ?

ošetrí "problémové" znaky a vráti ich "bezpečnejšiu" formu zo spätnými lomítkami :) bežná ochrana proti SQL Injection

Share this post


Link to post
Share on other sites

Přihlásit se dá normálně http://boxing.4fan.cz

 

A jakmile jsem přidal

$kontrola = mysql_query("select login from uzivatele where login = '$nick'") OR die(mysql_error());

$row = mysql_fetch_array($kontrola);

 

/* --- KONTROLA ZADANÝCH ÚDAJOV --- */

if($nick==$row['login']){

echo'Taký nick už existuje!';

}

else if($nick==""){

 

Tak to nic nezměnilo

Edited by walkerman

Share this post


Link to post
Share on other sites

Ako môže byť ešte neregistrovaný(neexistujúci) užívateľ prihlásený?

 

Omlouvám se za překlep ne přihlášen ale registrován..

Share this post


Link to post
Share on other sites

Proč to dělat jednoduše, když to jde složitě co?

Proveď dotaz do DB a vyber si řádky kde je `login` stejnej jako zadaný login

 

$query = mysql_query("SELECT `login` FROM `uzivatele` WHERE `login` = '".$nick."'");

 

A potom si jen udělej podmínku

if(mysql_num_rows($query) == 0)
{
//pokračuj
}
else echo "Account s tímto názvem již existuje";

  • Upvote 1

Share this post


Link to post
Share on other sites

Děkuji, funguje :) a mohl bych mít ještě dotaz, mám přihlašovací stránku udělanou tak trošku divně, potřeboval bych jak vypíšu ID z tabulky a jméno uživatele

 

<?php
session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Box game</title>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<link rel="stylesheet" type="text/css" href="css/styles.css" />
</head>
<body>
<?php
 if($_SESSION['login']!=""){
   echo' <strong>
<div id="container">
<div id="header"><h1><a href="profil.php">Staň se nejlepším boxerem!</a></h1></div>
 <div id="wrapper">
   <div id="content">
  <p><strong></strong></p>
  <p>                          Jméno boxera:<br />
<div style="text-align: center;"><img src="obrazky/profilovy_obrazek2.png" alt="" /><br />
<strong>Level:Junior</strong><br />
<strong>Životy:</strong><strong><span style="color: rgb(255, 0, 0);">100/100</span></strong><span style="color: rgb(255, 0, 0);"><br />
</span><strong>Zkušenost:</strong><span style="color: rgb(0, 204, 255);"><strong>0/50</strong></span><br />
<strong>Síla:5</strong><br />
<strong>Rychlost:5<br />
Obratnost:5<br />
Odolnost:5<br />
Dovednost:5<br />
Inteligence:5<br />
Reflex:5<br />
</strong><br />
<br /></div>
<br /></p>
   </div>
 </div>
 <div id="navigation">
 <p><strong> <h1>Hlavní menu</h1> </strong></p>
 <p><a href="profil.php"> Přehled </a> </p>
 <p><a href="profil.php"> Trénink </a> </p>
 <p><a href="profil.php"> Zápas </a>  </p>
 <p><a href="profil.php"> Pouliční bitka </a>  </p>
 <p><a href="profil.php"> Turnaj</a>	  </p>
 <p><a href="profil.php"> Práce </a>  </p>
 <p><a href="profil.php"> Moje posilovna </a>  </p>
 <p><a href="profil.php"> Obchod </a>    </p>
 <p><a href="profil.php"> Team </a>	  </p>
 <p><a href="profil.php"> Sponzoři </a>  </p>
 <p><a href="profil.php"> Sín slávy </a>   </p>
 <p><a href="logout.php"> Odhlásit </a>   </p>


 </div>
 <div id="extra">
   <p><strong><center><h1>Statistika</h1></center></strong></p>
   <p><center>200<img src="obrazky/penize.png" alt="" /></center></p>
   <p><center>0<img src="obrazky/herni_mena.png" alt="" /></center> </p>
   <p>--------------------------------</p>
   <p>Počet zápasů: 10 </p>
   <p>Výher: 8  </p>
   <p>Proher: 1    </p>
  <p>Remíza: 1  </p>
   <p>--------------------------------</p>
   <p>Umístění : 2304</p>

</p>			 
 </div>
 <div id="footer">
   <p>Footer</p>
 </div>
</div>
</body>
</html>
</strong> <a href="logout.php"></a>';
 } else {
   echo'Tato stránka je přístupná pouze přihlášeným uživatelům!';
 }
?>

Předem děkuji, pokud ses koukl aspoň

Share this post


Link to post
Share on other sites

Promiň, teď moc nechápu, co chceš. Chceš zjistit ID a jméno přihlášeného uživatele?

Ano chci aby to vypsalo jeho ID pod jakým je v DB a jeho jméno, pokaždé co jsem to zkoušel session tak jsem měl problém.

Share this post


Link to post
Share on other sites

Tak počítám, že při přihlášení si do sessiony zapisuješ ID přihlášeného uživatele.

Pak to bude vypadat následovně:


$user_id = addslashes(mysql_real_escape_string($_SESSION['uzivatel_id']));

//vybrání dat z DB podle ID uživatele
$query = mysql_query("SELECT * FROM `uzivatele` WHERE `id` = '".$user_id."'");

//vložení dat do pole
$data = mysql_fetch_array($query);

//výpis
echo "ID uživatele je:".$data['id']."<br>";
echo "Jméno uživatele je:".$data['login']."<br>";

Edited by Komalarn

Share this post


Link to post
Share on other sites

Tak počítám, že při přihlášení si do sessiony zapisuješ ID přihlášeného uživatele.

Pak to bude vypadat následovně:


$user_id = addslashes(mysql_real_escape_string($_SESSION['uzivatel_id']));

//vybrání dat z DB podle ID uživatele
$query = mysql_query("SELECT * FROM `uzivatele` WHERE `id` = '".$user_id."'");

//vložení dat do pole
$data = mysql_fetch_array($query);

//výpis
echo "ID uživatele je:".$data['id']."<br>";
echo "Jméno uživatele je:".$data['login']."<br>";

Já mám právě problém stím, že když se podíváš na ten můj profil.php tak vidíš, že to píšu divně ( jenže nevím jak ) a jakmile chci přidat jakýkoliv php script tak to hází chybu Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /home/users/walkermanek/boxing.4fan.cz/web/profil.php on line 16

Share this post


Link to post
Share on other sites

Jo snažil jsem se, jenže já to v tom profil.php píšu i v html a jakmile tam potom nejde dohodit žádnej script

Share this post


Link to post
Share on other sites

Cože? Tak teď fakt nechápu co chceš říct.

 

... píšu i v html a jakmile tam potom nejde dohodit žádnej script

Jak nejde dohodit žádnej script?

Share this post


Link to post
Share on other sites

Prosimtě postni sem ten soubor :D Nevim co má společnýho to, že tam máš i HTML s tím, že ti to nejde.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

×