Autor Zpráva
petrr
Profil *
Ahojky mam takovy problem - vzdy kdyz vytvorim nejaky kod v php ktery spolupracuje s db nezobrazuje mi to vysledek,

vytvril sem login formular , databazi, ale porad to ve vysledku nic nevypisuje - posilam kod:

index.php:


<html>
	<body>
	   <font size="5" face="sans-serif">Login </font>
	   <form action="login.php" method="POST">
	   <table cellpadding="3" cellspacing="4" border="0">
		<tr>
		 <td>Username:</td>
		 <td><input type="text" name="username"></td>
		</tr>
		<tr>
		 <td>Password:</td>
		 <td><input type="password" name="password"></td>
		</tr>
		<tr>
		 <td><input type="submit" name="submit" value="Log in"/></td>
		</tr>
	    </table>
	    </form>
 	</body>
</html>


a login.php

<?php
$username = $_POST['username'];
$password = $_POST['password'];
$login = $_GET['login'];
setcookie("username","$username",time()+86400);
if($login=='yes') 
{

$con = mysql_connect("localhost","root","");
mysql_selctdb("login");
$get = mysql_querry("SELECT count(id) FROM login WHERE user='$username' and pass='$password' ");
$result = mysql_result($get, 0);
if ($result!=1){
echo "Spatne prihlaseni";
} else {
echo "Prihlaseni uspesne" . $_COOKIE['username'] . "Vitejte";
$_SESSION['username'] =$username;
}
}
?>


Nevite nekdo kde se muze vyskytovat chyba, ktera ma za vliv nevypsani vysledku na obrazovku??? Dekuji

Moderátor nightfish: Tvůj projev je špatně srozumitelný, piš prosím s diakritikou.

Moderátor nightfish: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
xmark
Profil
mysql_selectdb
nightfish
Profil
pochybný je řádek
if($login=='yes')

uvážíme-li, že se proměnná $login plní z URL (a v atributu action žádná taková proměnná není)

dále pak řádek 10 souboru login.php - správně: mysql_select_db
EDIT: a ještě řádek 11: správně mysql_query
EDIT2: používáš $_SESSION, ale nikde tam nevidím session_start()
AM_
Profil
A který konkrétně příkaz by měl vypsat na výstup a nevypisuje?
stačí se podívat na kód a vidíš - pokud je $_GET['login']=='yes', skočí se do větve, kde se v každém případě něco vypíše. Pokud ne, nemáš tam žádnou "else" větev ani nic jiného, co by mělo něco vypsat.
Přímo z databáze se žádná data ani vypsat nesnažíš, nevím, kde očekáváš, že se nějaká vypíší, když z databáze pouze zjišťuješ, zda se uživatel správně přihlásil.
petrr
Profil *
kdyz vypisu: session_start() kamkoliv tak mi to vypisuje chyby?

jak to dale tedy poupravit?? poslam poopraveny kod:

<?php
$username = $_POST['username'];
$password = $_POST['password'];
$login = $_GET['login'];
setcookie("username","$username",time()+86400);
if($login=='yes') 
{
$con = mysql_connect("localhost","root","");
mysql_selct_db("login");
$get = mysql_query("SELECT count(id) FROM login WHERE user='$username' and pass='$password' ");
$result = mysql_result($get, 0);
if ($result!=1){
echo "Spatne prihlaseni";
} else {
echo "Prihlaseni uspesne" . $_COOKIE['username'] . "Vitejte";
$_SESSION['username'] =$username;
}
}
?>


Pro méně všímavé ještě jednou:
Moderátor nightfish: Tvůj projev je špatně srozumitelný, piš prosím s diakritikou.

Moderátor nightfish: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
nightfish
Profil
petrr:
Existuje nějaký způsob, aby se v proměnné $login objevila hodnota yes? Pokud ano, tak odkud?
AM_
Profil
petrr:
kdyz vypisu: session_start() kamkoliv tak mi to vypisuje chyby?
proč se ptáš, jestli ti to vypisuje chyby? jak máme vědět, co ti to vypisuje?

session_start() musí být vždy před jakýmkoli výstupem nebo znaky mimo <?php ?>, nejlépe hned na začátku souboru.

jak to dale tedy poupravit?? poslam poopraveny kod:
a co chceš aby to dělalo? pokud trváš na tom, "aby to něco vypisovalo", dej na začátek třeba
echo "ahoj";

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0