| |
Najlaži je težit.
Dobr - očitno nimam izbire.
Torej; 21. korak preverjanje:
kliknem registracija.php - vedno izpiše Registracija ni uspela.
kliknem prijava.php: Parse error: syntax error, unexpected '{' in /home/a2401829/public_html/prijava.php on line 7
Mislim, da bi bilo lažje, da sam preverim kodo.
|
| |
| |
Mislim, da nimaš pravilno nastavljene tabele. V registracija.php namesto
$sql = mysql_query("INSERT INTO mojaPrvaTabela(username, password) VALUES ('$username', MD5('$geslo'));") OR die('Registracija ni bila uspešna!');
napiši
$sql = mysql_query("INSERT INTO mojaPrvaTabela(username, password) VALUES ('$username', MD5('$geslo'));") OR die('Registracija ni bila uspešna!' . mysql_error());
V prijava.php pa prilepi prvih 10 vrstic oz. podrobno si oglej vrstico 7. Verjetno ti v prejšnji vrstici manjka ;
|
| |
| |
Registracija.php:
Še vedno nič. Koda:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtm....
<html xmlns="http://www.w3.org/1999/xhtml"&g....
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<form id="registracija" name="registracija" method="post" action="registracija.php">
<p>Uporabniško ime:
<input type="text" name="username" id="username" />
</p>
<p>Geslo:
<input type="password" name="password" id="password" />
</p>
<p>Ponovi geslo:
<input type="password" name="password2" id="password2" />
</p>
<p>
<input type="submit" name="registracija" id="registracija" value="Registracija" />
</p>
</form>
</body>
</html>
<?php
mysql_connect('mysql8.000webhost.com', 'a2401829_testnik', 'geslo') OR die('Ne morem se povezati na server!');
mysql_select_db('a2401829_baza') OR die('Ne morem izbrati baze!');
$username = $_POST['username'];
$geslo = $_POST['password'];
$geslo2 = $_POST['password2'];
if ($geslo != $geslo2) {
die ('Vpisana gesla nista enaka');
}
if (mysql_num_rows(mysql_query("SELECT * FROM mojaPrvaTabela WHERE username='$username';")) > 0) {
die ('Uporabniško ime že obstaja!');
}
$sql = mysql_query("INSERT INTO mojaPrvaTabela(username, password) VALUES ('$username', MD5('$geslo'));") OR die('Registracija ni bila uspešna!' . mysql_error());
?>
Prijava.php
Imam dvopičje. Koda:
<?php
session_start();
mysql_connect('mysql8.000webhost.com', 'a2401829_testnik', 'geslo') OR die('Ne morem se povezati na server!');
mysql_select_db('a2401829_baza') OR die('Ne morem izbrati baze!');
(isset($_GET['odjava'])) {
unset($_SESSION['prijavljen']);
die "Uspešno ste se odjavili!";
}
if ($_SESSION['prijavljen'] == true) {
die "Ste že prijavljeni!";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtm....
<html xmlns="http://www.w3.org/1999/xhtml"&g....
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<form id="prijava" name="prijava" method="post" action="prijava.php">
<p>Uporabniško ime:
<input type="text" name="username" id="username" />
</p>
<p>Geslo:
<input type="password" name="password" id="password" />
</p>
<p>
<input type="submit" name="prijava" id="prijava" value="Prijava" />
</p>
</form>
</body>
</html>
<?php
$username = mysql_real_escape_string($_POST['username']);
$geslo = mysql_real_escape_string($_POST['password']);
$sql = mysql_query("SELECT * FROM mojaPrvaTabela WHERE username = '$username' AND password = MD5('$geslo');");
echo 'Uspešno ste se prijavili kot ';
switch (mysql_result(mysql_query("SELECT vrsta FROM mojaPrvaTabela WHERE username = '$username';"), 0))
{
case 0:
echo "navaden uporabnik.";
break;
case 1:
echo "administrator.";
break;
default:
}
$_SESSION['prijavljen'] = true;
}else {
echo 'Napačna prijava!';
}
if (isset($_POST['Prijava'])) {
}
?>
Tako, mislim, da bo sedaj najhitreje rešen problem. Povejte
|
| |
| |
(isset($_GET['odjava'])) {
unset($_SESSION['prijavljen']);
die "Uspešno ste se odjavili!";
}
Le kaj to pomeni? Pravilno:
if(isset($_GET['odjava'])) {
unset($_SESSION['prijavljen']);
die ("Uspešno ste se odjavili!");
}
Pri registraciji pa sedaj povej, kaj ti napiše.
spremenil: kljuka (13.6.2009 ob 19.01.48)
|
| |
| |
V tabeli nimaš pri ID nastavljen Auto Increment (A_I).
Drugače pa povsod, kjer je funkcija die popravi iz npr.
die "Napaka!";
v
die ("Napaka!");
Je prišlo do majhne napakice (v besedilu, na sliki je pravilno).
|
| |
| |
Registracija.php
Vse deluje - hvala.
Prijava.php
Napaka:
Parse error: syntax error, unexpected '}' in /home/a2401829/public_html/prijava.php on line 59
Koda:
<?php
session_start();
mysql_connect('mysql8.000webhost.com', 'a2401829_testnik', 'geslo') OR die('Ne morem se povezati na server!');
mysql_select_db('a2401829_baza') OR die('Ne morem izbrati baze!');
if(isset($_GET['odjava'])) {
unset($_SESSION['prijavljen']);
die ('Uspešno ste se odjavili!');
}
if ($_SESSION['prijavljen'] == true) {
die ('Ste že prijavljeni!');
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtm....
<html xmlns="http://www.w3.org/1999/xhtml"&g....
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<form id="prijava" name="prijava" method="post" action="prijava.php">
<p>Uporabniško ime:
<input type="text" name="username" id="username" />
</p>
<p>Geslo:
<input type="password" name="password" id="password" />
</p>
<p>
<input type="submit" name="prijava" id="prijava" value="Prijava" />
</p>
</form>
</body>
</html>
<?php
$username = mysql_real_escape_string($_POST['username']);
$geslo = mysql_real_escape_string($_POST['password']);
$sql = mysql_query("SELECT * FROM mojaPrvaTabela WHERE username = '$username' AND password = MD5('$geslo');");
echo 'Uspešno ste se prijavili kot ';
switch (mysql_result(mysql_query("SELECT vrsta FROM mojaPrvaTabela WHERE username = '$username';"), 0))
{
case 0:
echo "navaden uporabnik.";
break;
case 1:
echo "administrator.";
break;
default:
}
$_SESSION['prijavljen'] = true;
}else{
echo 'Napačna prijava!';
}
if (isset($_POST['Prijava'])) {
}
?>
Kot sem rekel, teh napak je (bilo) veliko, zato vas še enkrat naprošam k potrpežljivosti in se vam/ti (kljuka ), zahvaljujem za pomoč.
Daddy.
|
| |
| |
Ti
Lahko bi napisal, ampak, potrudimo se poiskati napake:
$_SESSION['prijavljen'] = true;
}else{
echo 'Napačna prijava!';
}
if ($_SESSION['prijavljen']==true) {
echo '<a href="prijava.php?odjava">ODJAVA</a>';
}else {
echo '<a href="prijava.php">PRIJAVA </a>';
}
Slabo ste prepisovali
|
| |
| |
OK, danke za pomoč.
Ampak, čaka te nov problem (sorry, za tok problemov).
Ko greš na moj index.php, tam klikneš registracija in avtomatično, ko prideš na registracija.php te registrira - up. ime in pass. ne določi. Torej postaneš uporabnik z nicknameom, ki se glasi: in passwordom, ki se glasi: .
Potem klikneš na prijava.php in te avtomatično prijavi, z nickom, katerega ti sistem avtomatično naredi, ko klikneš registracija.php, torej - nickname: in password: .
Can you help me again?
|
| |
| |
No dobro. Mi lahko poveš, ali si sam pisal kodo?
<?php
$username = mysql_real_escape_string($_POST['username']);
$geslo = mysql_real_escape_string($_POST['password']);
$sql = mysql_query("SELECT * FROM mojaPrvaTabela WHERE username = '$username' AND password = MD5('$geslo');");
echo 'Uspešno ste se prijavili kot ';
switch (mysql_result(mysql_query("SELECT vrsta FROM mojaPrvaTabela WHERE username = '$username';"), 0))
{
case 0:
echo "navaden uporabnik.";
break;
case 1:
echo "administrator.";
break;
default:
}
$_SESSION['prijavljen'] = true;
}else{
echo 'Napačna prijava!';
}
if (isset($_POST['Prijava'])) {
}
?>
pravilno:
<?php
if (isset($_POST['Prijava'])) {
$username = mysql_real_escape_string($_POST['username']);
$geslo = mysql_real_escape_string($_POST['password']);
$sql = mysql_query("SELECT * FROM mojaPrvaTabela WHERE username = '$username' AND password = MD5('$geslo');");
echo 'Uspešno ste se prijavili kot ';
switch (mysql_result(mysql_query("SELECT vrsta FROM mojaPrvaTabela WHERE username = '$username';"), 0))
{
case 0:
echo "navaden uporabnik.";
break;
case 1:
echo "administrator.";
break;
default:
}
$_SESSION['prijavljen'] = true;
}else{
echo 'Napačna prijava!';
}
}
?>
Pri registraciji enako.
<?php
mysql_connect('mysql8.000webhost.com', 'a2401829_testnik', 'geslo') OR die('Ne morem se povezati na server!');
mysql_select_db('a2401829_baza') OR die('Ne morem izbrati baze!');
if (isset($_POST['username']) && isset($_POST['password']))
{
$username = $_POST['username'];
$geslo = $_POST['password'];
$geslo2 = $_POST['password2'];
if ($geslo != $geslo2) {
die ('Vpisana gesla nista enaka');
}
if (mysql_num_rows(mysql_query("SELECT * FROM mojaPrvaTabela WHERE username='$username';")) > 0) {
die ('Uporabniško ime že obstaja!');
}
$sql = mysql_query("INSERT INTO mojaPrvaTabela(username, password) VALUES ('$username', MD5('$geslo'));") OR die('Registracija ni bila uspešna!' . mysql_error());
}
?>
|
| |
Prikazujem 2 od skupno 6 strani |
|