Autor | Zpráva | ||
---|---|---|---|
Kry5 Profil |
#1 · Zasláno: 8. 3. 2010, 11:57:02
Zdravím.
Udělal jsem si podle tohoto článku: http://pecan.cz/index.php?id=39&n=registrace-prakticky-priklad registraci a piřhlášení uživatelů na můj web, ale nefunguje mi, kdykoli bych se chtěl přihlásit háže mi to tenhle error: Warning: require(db.php) [function.require]: failed to open stream: No such file or directory in /home/free/ic.cz/f/fantasy-blog/root/www/gamebook/login_zpracuj.php on line 10 Fatal error: require() [function.require]: Failed opening required 'db.php' (include_path='/usr/share/php/smarty/libs:/usr/share/fpdf:/usr/share/php/:.') in /home/free/ic.cz/f/fantasy-blog/root/www/gamebook/login_zpracuj.php on line 10 Navíc si nejsem jistej jestli to orpavdu zaregistruje, protože když dám registrovat nezobrazí se mi hláška "Jste v pořádku zaregistrován". Nebo nějak tak... Celé je to nahrané na webu: www.fantasy-blog.ic.cz/gamebook/ (začít novou hru: registrace; pokračovat: přihlášení.)-můžete si zde prohlédnout soubory: index.php, login.php a registrace.php popř. style.css Soubor Login_zpracuj: 1<?php <?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'];
$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 neplatné údaje";
}
mysql_free_result($query);
}else{
echo "Zde nic není ;-)";
}
ob_end_flush();
?> Soubor reg_zpracuj: 1<?php <?php
ob_start(); // cachujeme vystup
if(isset($_POST['sent'])){ // pokud byl odeslan formular pokracuj timto
$jmeno=trim($_POST['jmeno']);
$heslo1=$_POST['heslo1'];
$heslo2=$_POST['heslo2'];
$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
$backlink="index.php?page=registrace&Alert=1";
}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...
$backlink="index.php?page=registrace&Alert=2";
}elseif($heslo1 != $heslo2){ // pokud se hesla nerovnajĂ
$backlink="index.php?page=registrace&Alert=3";
}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')") or die (mysql_error());
// Vlozim do tabulky hodnoty - prvni je ID - nevyplnim, tvori se samo.
// Jako posledni hodnota je "0", to jsou ty prava uzivatele.
$backlink="index.php?Alert=4"; // presmerovani s hlaskou ze je vse OK
}
}
}else{
$backlink="index.php?page=registrace&Alert=5";
}
// 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: $backlink");
ob_end_flush();
?> ve složce inc ještě: db.php: 1<?php <?php
$spojeni = mysql_connect("mysql.ic.cz","ic_fantasy_blog","mám vyplněno!!" ) or die ('Spatne zadane udaje (asi heslo, server nebo jmeno.) v inc/db.php');
mysql_select_db("ic_fantasy_blog", $spojeni) or die ('Spatne zadana databaze v inc/db.php');
mysql_query("SET NAMES utf8");
?>
error404.php: <h1>Volaný soubor neextistuje!!!</h1> <h1>Volaný soubor neextistuje!!!</h1> a soubor error_msg.php 1<?php <?php
/*
* Zde jsou hlasky pro pripad ze neco budeme chtit vypsat uzivateli
*/
$Rvi = Array(
'Nebyly vyplněny všechny povinné údaje!', //1
'Zadané jméno nebo email je již používáno někým jiným!!', //2
'Zadaná hesla se neshodují!!!', //3
'Data byla uložena. Můžete se přihlásit!', //4
'Nebyl odeslán formulář', //5
'Zadal jsi nesprávné údaje!', //6
'Byl jsi odhlášen!' //7
);
?> Mohl by mi tedy někdo říct co mám opravit aby mi vše fungovalo? Děkuji PS: heslo v souboru db.php mám vyplněno jen ho sem z pochopitelných důvodů nedávám...) Mockrát díky Kry5 |
||
Taps Profil |
#2 · Zasláno: 8. 3. 2010, 12:02:38
Kry5:
require 'inc/db.php'; require 'inc/db.php';
|
||
Kry5 Profil |
#3 · Zasláno: 8. 3. 2010, 12:13:28
Taps:
Díky. Přihlášení už my funguje, ale jen za Darkry, který jsem si uložil do databáze ještě v úplně původní verzi skriptu: Odkaz. Ale když zaregistruji nový nick tak mi nejde přihlásit. Z toho vyplívá, že registrace je pořád nefunkční a navíc mi to pořád nehází ani chybové ani potvrzovací hlášky... Fakt sory...že s tim otravuju, ale jsem bezmocnej :-( |
||
Taps Profil |
#4 · Zasláno: 8. 3. 2010, 12:26:05
Kry5:
Unknown column 'mail' in 'field list'. Což znamená že v databázi není sloupeček s názvem mail. Zkontroluj si prosím názvy sloupců v databázi. |
||
Kry5 Profil |
#5 · Zasláno: 8. 3. 2010, 12:32:00
Já jsem právě vymazal v registraci i v sloupečku ty práva, mail i web. Takže pokud se tohle někde objevuje (teď nevim, kde myslíš). Snažil jsem se to všude promazat aby se to o ten mail atd. nestaralo.
|
||
Taps Profil |
#6 · Zasláno: 8. 3. 2010, 12:34:12
Kry5:
a co je toto ? $VlozData=mysql_query("INSERT INTO uzivatele (jmeno,heslo,mail,web,prava) VALUES ('$jmeno', '$heslo')") or die (mysql_error()); $VlozData=mysql_query("INSERT INTO uzivatele (jmeno,heslo,mail,web,prava) VALUES ('$jmeno', '$heslo')") or die (mysql_error());
|
||
Kry5 Profil |
#7 · Zasláno: 8. 3. 2010, 12:43:58
OK. Upravil jsem ten reg-zpracuj.php:
1<?php <?php
ob_start(); // cachujeme vystup
if(isset($_POST['sent'])){ // pokud byl odeslan formular pokracuj timto
$jmeno=trim($_POST['jmeno']);
$heslo1=$_POST['heslo1'];
$heslo2=$_POST['heslo2'];
if($jmeno=="" or $heslo1==""){ // pokud nebylo vyplnÄ›no nÄ›co z toho, co je povinnĂ?, dáme vÄ›dÄ›t a skript ukonÄŤĂme
$backlink="index.php?page=registrace&Alert=1";
}else{ // povinn� udaje vyplněny vsechny
require "inc/db.php"; // pripojime se k databazi
$PocetStejnych=mysql_result(mysql_query("SELECT COUNT(*) FROM `uzivatele` WHERE `jmeno`='$jmeno'"), 0);
if($PocetStejnych!=0){ // pokud v db je jiz takove jmeno nebo heslo...
$backlink="index.php?page=registrace&Alert=2";
}elseif($heslo1 != $heslo2){ // pokud se hesla nerovnajĂ
$backlink="index.php?page=registrace&Alert=3";
}else{ // hesla se shoduji, vlozime tedy data do databaze
$heslo=md5($heslo1); // zahashujeme heslo
}
$VlozData=mysql_query("INSERT INTO uzivatele (jmeno,heslo) VALUES ('$jmeno', '$heslo')") or die (mysql_error());
// Vlozim do tabulky hodnoty - prvni je ID - nevyplnim, tvori se samo.
// Jako posledni hodnota je "0", to jsou ty prava uzivatele.
$backlink="index.php?Alert=4"; // presmerovani s hlaskou ze je vse OK
}
}
}else{
$backlink="index.php?page=registrace&Alert=5";
}
// 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: $backlink");
ob_end_flush();
?> Ale teď mi to zase při registraci hází tohle: Parse error: syntax error, unexpected '}' in /home/free/ic.cz/f/fantasy-blog/root/www/gamebook/reg_zpracuj.php on line 29 |
||
Taps Profil |
#8 · Zasláno: 8. 3. 2010, 13:21:13
|
||
Kry5 Profil |
#9 · Zasláno: 8. 3. 2010, 13:30:52
Mockrát díky. Už všechno funguje jak má. Kdyby se naskytl ještě nějaký problém ozvu se :-)
|
||
Kry5 Profil |
#10 · Zasláno: 8. 3. 2010, 15:10:30
Tak mám ještě dva malý problémy:
1) U souboru http://www.fantasy-blog.ic.cz/gamebook/uvod.php jsem nastavil aby se zobrazil jen, když je uživatel přihlášen pokud není má vyskočit chybová hláška: Příběh je přístupný jen přihlášeným hráčům. Ta vyskakuje, ale pořád i když přihlášený jsem. Musí se tam nějak ztratit data o tom, že již jsem přihlášen. Co mám tedy doplnit aby se text zobrazil pokud je hráč přihlášen (můžete se přihlásit na: http://www.fantasy-blog.ic.cz/gamebook/login.php s nickem: test a heslem: test). Na soubor se pak dostanete kliknutím na !!HRAJ!! Kód souboru uvod.php: 1<?php <?php
/*
* Pokud uĹľivatel nenĂ pĹ™ihlášenĂ˝, mĂsto obsahu se mu ukáže tato hláška.
*/
if(!isset($_SESSION['prihlasen']) and @$_SESSION['prihlasen']!=1){
echo "<h1>Příběh je přístupný jen přihlášeným hráčům.</h1>";
exit;
}
?>
<h1>Úvod</h1>
<p>A tak jste se sešli v jedné malé hospůdce uprotřed vsi a diskutovali o všem možném i emožném. A pořád jste kecali dokola až vás to přestalo bavit a vzápětí jste všichni jako kouuzlem usnuli....Chrrrrrrr. Hospodská vás, ale asi za hodinu vzbudila a museli jste se přesunou do svých pokojů, kde jste konečně měly klid.</p>
<h3>Co chcete udělat?</h3>
<ul>
<li> <a href="#">Nepozorovaně zmiznu z hospody</a></li>
<li> <a href="#">Nejdříve si dám něco k jídlu a pak teprve odejdu</a></li>
<li> <a href="#">Ještě tu jeden den zůstanu</a></li>
</ul> Není tam celý HTML kód, protože jsem zamýšlel udělat v menu odkaz takto: <li><a href='index.php?page=uvod'> Top secret </a></li> <li><a href='index.php?page=uvod'> Top secret </a></li> ale to my také nefungovalo a nevím proč. No a 2) Pořád my nenaskakují chybové a potvrzovací hlášky ze souboru error_msg.php: 1<?php <?php
/*
* Zde jsou hlasky pro pripad ze neco budeme chtit vypsat uzivateli
*/
$Rvi = Array(
'Nebyly vyplněny všechny povinné údaje!', //1
'Zadané jméno nebo email je již používáno někým jiným!!', //2
'Zadaná hesla se neshodují!!!', //3
'Data byla uložena. Můžete se přihlásit!', //4
'Nebyl odeslán formulář', //5
'Zadal jsi nesprávné údaje!', //6
'Byl jsi odhlášen!' //7
);
?>
Také nevím proč.. Omlouvám se že tady pořád otravuju, ale v PHP se prozatím moc nevyznám tak potřebuji poradit :-) |
||
Taps Profil |
#11 · Zasláno: 8. 3. 2010, 16:17:28
Kry5:
Toto by mohlo fungovat 1<?php <?php
session_start();
/*
* Pokud uĹľivatel nenĂ pĹ™ihlášenĂ˝, mĂsto obsahu se mu ukáže tato hláška.
*/
if(!isset($_SESSION['prihlasen']) and @$_SESSION['prihlasen']!=1){
echo "<h1>Příběh je přístupný jen přihlášeným hráčům.</h1>";
}
else{
echo'
<h1>Úvod</h1>
<p>A tak jste se sešli v jedné malé hospůdce uprotřed vsi a diskutovali o všem možném i emožném. A pořád jste kecali dokola až vás to přestalo bavit a vzápětí jste všichni jako kouuzlem usnuli....Chrrrrrrr. Hospodská vás, ale asi za hodinu vzbudila a museli jste se přesunou do svých pokojů, kde jste konečně měly klid.</p>
<h3>Co chcete udělat?</h3>
<ul>
<li> <a href="#">Nepozorovaně zmiznu z hospody</a></li>
<li> <a href="#">Nejdříve si dám něco k jídlu a pak teprve odejdu</a></li>
<li> <a href="#">Ještě tu jeden den zůstanu</a></li>
</ul>';
}
?>
|
||
Kry5 Profil |
#12 · Zasláno: 9. 3. 2010, 09:46:01
Díky mockrát.
Ještě cjestli by mi někdo mohl vysvětlit ty chybové hlášky. Jo a abych nezapomněl v Google Chrome i Firefox mi odlhášení uživatele funguje bez problému, ale v IE a v Opeře se to odmítá odhlásit: logout.php: 1<?php <?php
ob_start();
// odhlaseni autora
if(IsSet($_GET['logout']) and $_GET['logout']=="yes") {
Session_Start();
Session_Destroy();
}
header ("location: index.php?Alert=7");
ob_end_flush();
?> Díky |
||
Taps Profil |
#13 · Zasláno: 9. 3. 2010, 21:28:37 · Upravil/a: Taps
Kry5:
„odmítá odhlásit“ Zobrazuje se nějaké chybové hlášen?. V jakém tvaru máš napsaný odkaz pro odhlášení ? |
||
Kry5 Profil |
#14 · Zasláno: 10. 3. 2010, 08:02:59
Odkaz:
<a href='logout.php?logout=yes'>Odhlásit se | </a> <a href='logout.php?logout=yes'>Odhlásit se | </a> Ne žádnou chybovou hlášku to nehlásí prostě se to jenom neodhlásí. Vlastně spíš se to odlásí tak napůl. Na indexu totiž zmizne odkaz hraj, ale dole lišta "Přihlášený hráč: XXXX ; Odhlásit" zůstane. Když jsem ve hře a kliknu na odhlásit se tak bych se mněl vrátit na index.php (v Firefoxu i Chrome to tak funguje), ale v Opeře a v IE se nestane vůbec nic. |
||
Taps Profil |
#15 · Zasláno: 11. 3. 2010, 17:43:19
Kry5:
zkus kod upravit jen takto 1<?php <?php
ob_start();
// odhlaseni autora
if($_GET['logout']=="yes") {
Session_Start();
Session_Destroy();
}
header ("location: index.php?Alert=7");
ob_end_flush();
?> |
||
Kry5 Profil |
#16 · Zasláno: 11. 3. 2010, 21:37:47
Bohužel pořád nefunguje.
|
||
Spacebar Profil |
#17 · Zasláno: 12. 3. 2010, 08:04:20 · Upravil/a: Spacebar
Zkus oddělat to bufferování výstupu a dát session_start(); na začátek, třeba ti to vyhodí nějakou chybovku. O tom session_start() jsem někde četl, že to má být na začátku.
1<?php <?php
session_start();
// odhlaseni autora
if($_GET['logout']=="yes") {
Session_Start();
Session_Destroy();
header ("location: index.php?Alert=7");
}
else {
echo "logout=".$_GET["logout"];
}
?> |
||
Časová prodleva: 6 měsíců
|
|||
perwin Profil * |
#18 · Zasláno: 26. 8. 2010, 11:31:47
ahoj, já jsem zkousel tadytu opravenou registraci, ale vyskytl se problem v souboru inc/db.php:
1<?php <?php
$spojeni = mysql_connect("mysql.webzdarma.cz","mojephps","mám vyplněno!!" ) or die ('Spatne zadane udaje (asi heslo, server nebo jmeno.) v inc/db.php');
mysql_select_db("mojephps", $spojeni) or die ('Spatne zadana databaze v inc/db.php');
mysql_query("SET NAMES utf8");
?> vzdy to hlasi: Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'mojephps'@'192.168.12.6' (using password: YES) in /3w/wz.cz/m/mojephps/inc/db.php on line 2 Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'mojephps'@'192.168.12.6' (using password: YES) in /3w/wz.cz/m/mojephps/inc/db.php on line 2
Spatne zadane udaje (asi heslo, server nebo jmeno.) v inc/db.php prosim poradte, dekuji za odpovedi |
||
Časová prodleva: 1 rok
|
|||
šimon Profil * |
#19 · Zasláno: 14. 9. 2011, 18:50:39
Dobrý den
skusil sem si tu registraci dat na svuj web (neni hotovej) http://r0yal.g6.cz/ ale kdyz se prihlasim nenapise mi ze nejsem prihlasenej ale tady jo http://r0yal.g6.cz/reg/index.php mam totiz i tu püvodni verzi ktera mi normalne funguje ale kdyz to dam do tohohle webu uz to nejde Prosím o radu a sry sem zacatecnik |
||
Časová prodleva: 8 měsíců
|
|||
xahoj Profil |
#20 · Zasláno: 18. 5. 2012, 15:02:21
Diky ja to mam taky a taky mi to nefungovalo a tak ted uz jö
|
||
Časová prodleva: 13 let
|
Toto vlákno je staré, již dlouho do něj nikdo nepřispíval.
Informace a odkazy zde uváděné už nemusejí být aktuální. Nechcete-li řešit zde uvedenou konkrétní otázku, založte si vlastní vlákno, nepište do tohoto. Vložíte-li sem nyní příspěvek, upoutáte pozornost mnoha lidí a někteří z nich si jen kvůli vám přečtou i všechny předcházející příspěvky. Předpokládáte-li, že váš text skutečně bude hodnotný, stiskněte následující tlačítko:
Běda vám, jestli to bude blábol.
0