Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Problem z systemem logowania


Rekomendowane odpowiedzi

Opublikowano

Witam otóż mam system logowania plik index.php i login.php inc.php i chce żeby po zalogowaniu przenosiło mnie na strone index.php.Proszę o pomoc.

 

Index.php

<?
include_once 'inc.php';
if ($user) echo 'Witaj '.$user['username'].'<br>Masz '.$user['ps'].' punktów statystyk!<br>Zręczność: '.$user['zrecznosc'].'<br>Witalność: '.$user['witalnosc'].'<br> Szybkość: '.$user['szybkosc'].'<br> Siła: '.$user['sila'].'<br><a href="?logout=logout">Wyloguj</a>';
else echo 'Nie jesteś zalogowany! <a href="login.php">Zaloguj</a> || <a href="register.php">Rejestruj</a>';
?>

Login.php

<?php
include_once 'inc.php';
?>
<form action='login.php' method='post'>
Nazwa użytkownika: <input type='text' name='username'/></br>
Hasło: <input type='password' name='pass'></br>
<input type='submit' value='Zaloguj!'/></br>
</form>
<?php
if (empty($_POST['username']) || empty($_POST['pass'])) echo 'Wypełnij pola!';
else
{
$username = vtxt($_POST['username']);
$password = vtxt($_POST['pass']);
if (!ctype_alnum($username)) echo "Zła nazwa użytkownika!";
else
 {
$row = row("SELECT id FROM user WHERE username='$username' AND password='$password'");
if ( $row )
{
echo 'Gratulacje zostałeś zalogowany';
$_SESSION['id'] = $row['id'];
} else echo 'Złe dane!';
 }
}
?>

Inc.php

<?php
ob_start();
@session_start();
mysql_connect('localhost','root','') or die(mysql_error());
mysql_select_db('gra') or die(mysql_error());
if ($_GET['logout'] == 'logout')
{
session_destroy();
unset($_SESSION);
header("location: index.php");
}
function vtxt($var)
{
return trim(mysql_real_escape_string(strip_tags($var)));
}
function row($sql)
{
return @mysql_fetch_assoc(mysql_query($sql));
}
function getUser($id)
{
return row("SELECT * FROM user WHERE id=$id");
}
$user = getUser($_SESSION['id']);
?>

Opublikowano

Nie do końca rozumiem. Czemu jeśli zaloguje kogoś ma go przenosić na index.php? Tam masz gre czy jak?

WymianaSMS.pl - wymień smsy na kupony paysafecard, steam lub doładowania telefoniczne!

Opublikowano

Mam tak i nie działa ;/ i ten co po 3 sekundach tez nie

<?php
include_once 'inc.php';
?>
<form action='login.php' method='post'>
Nazwa użytkownika: <input type='text' name='username'/></br>
Hasło: <input type='password' name='pass'></br>
<input type='submit' value='Zaloguj!'/></br>
</form>
<?php
if (empty($_POST['username']) || empty($_POST['pass'])) echo 'Wypełnij pola!';
else
{
$username = vtxt($_POST['username']);
$password = vtxt($_POST['pass']);
if (!ctype_alnum($username)) echo "Zła nazwa użytkownika!";
else
 {
$row = row("SELECT id FROM user WHERE username='$username' AND password='$password'");
if ( $row )
{
echo 'Gratulacje zostałeś zalogowany';
@Header('Location: index.php');
$_SESSION['id'] = $row['id'];
} else echo 'Złe dane!';
 }
}
?>

Opublikowano

Jeszcze jeden problem mam Parse error: syntax error, unexpected T_PUBLIC in E:\xampp\htdocs\index.php on line 2 wiem że coś jest nie tak z 2 linijką ale nie wiem co :/

index.php

<?php
public function displayStyles();
   {
echo '<link rel="stylesheet" type="text/css" href="styles/style.css" />'."\n";
   }
?>
<?
include_once 'inc.php';
if ($user) echo 'Witaj '.$user['username'].'<br>Masz '.$user['ps'].' punktów statystyk!<br>Zręczność: '.$user['zrecznosc'].'<br>Witalność: '.$user['witalnosc'].'<br> Szybkość: '.$user['szybkosc'].'<br> Siła: '.$user['sila'].'<br><a href="bots.php">Walcz z botami</a>'.'<br><a href="?logout=logout">Wyloguj</a>';
else echo 'Nie jesteś zalogowany! <a href="login.php">Zaloguj</a> || <a href="register.php">Rejestruj</a>';
?>
Opublikowano

Nadal Parse error: syntax error, unexpected T_PUBLIC in E:\xampp\htdocs\index.php on line 2

index.php

<?php
public function displayStyles()
{
echo '<link rel="stylesheet" type="text/css" href="styles/style.css" />'."\n";
}
?>
<?
include_once 'inc.php';
if ($user) echo 'Witaj '.$user['username'].'<br>Masz '.$user['ps'].' punktów statystyk!<br>Zręczność: '.$user['zrecznosc'].'<br>Witalność: '.$user['witalnosc'].'<br> Szybkość: '.$user['szybkosc'].'<br> Siła: '.$user['sila'].'<br><a href="bots.php">Walcz z botami</a>'.'<br><a href="?logout=logout">Wyloguj</a>';
else echo 'Nie jesteś zalogowany! <a href="login.php">Zaloguj</a> || <a href="register.php">Rejestruj</a>';
?>

 

PS.Po usunięciu całkiem drugiej linijki działa normalnie ale wtedy nie wczytuje style.css i nie mam koloru strony :/

Opublikowano

Jest usunąłem 2 linijke i w style.css miałem background: D2D2D2;

a jak zmieniłem na body{

background: D2D2D2;

}

To od razu zadziałało dzięki wielkie za wszelka pomoc :) masz like

 

eh jeszcze jeden problem Parse error: syntax error, unexpected '<' in E:\xampp\htdocs\login.php on line 22

 

<?php
include_once 'inc.php';
?>
<form action='login.php' method='post'>
Nazwa użytkownika: <input type='text' name='username'/></br>
Hasło: <input type='password' name='pass'></br>
<input type='submit' value='Zaloguj!'/></br>
</form>
<?php
if (empty($_POST['username']) || empty($_POST['pass'])) echo 'Wypełnij pola!';
else
{
$username = vtxt($_POST['username']);
$password = vtxt($_POST['pass']);
if (!ctype_alnum($username)) echo "Zła nazwa użytkownika!";
else
 {
$row = row("SELECT id FROM user WHERE username='$username' AND password='$password'");
if ( $row )
{
echo 'Gratulacje zostałeś zalogowany';
<script language="JavaScript" type="text/javascript">
location.href="index.php";
</script>
$_SESSION['id'] = $row['id'];
} else echo 'Złe dane!';
 }
}
?>
Opublikowano

No bo tak będzie bo masz JS poza echo ,a JS w takim przypadku musi być w echo. Ew. :

[b]<?php
include_once 'inc.php';
?>
<form action='login.php' method='post'>
Nazwa użytkownika: <input type='text' name='username'/></br>
Hasło: <input type='password' name='pass'></br>
<input type='submit' value='Zaloguj!'/></br>
</form>
<?php
if (empty($_POST['username']) || empty($_POST['pass'])) echo 'Wypełnij pola!';
else
{
$username = vtxt($_POST['username']);
$password = vtxt($_POST['pass']);
if (!ctype_alnum($username)) echo "Zła nazwa użytkownika!";
else
 {
$row = row("SELECT id FROM user WHERE username='$username' AND password='$password'");
if ( $row )
{
echo 'Gratulacje zostałeś zalogowany';
?>
<script language="JavaScript" type="text/javascript">
location.href="index.php";
</script>
<?
$_SESSION['id'] = $row['id'];
} else echo 'Złe dane!';
 }
}
?>[/b]
[b]

[/b]

Opublikowano

Dzięki chłopie ty chyba jesteś najlepszym programistą w polsce :D

 

Ps.Jak mógłbyś jeszcze mi powiedzieć jak zrobić żeby np po 3 sekundach przenosiło na strone index.php

Opublikowano

Jak ja jestem najlepszy to mój Ojciec stworzył wszystkie języki programowania i zna je na pamięć w takim wypadku. A przenoszenie to prosto :

header("Refresh: 3;URL=index.php");

Jakoś tak

 

EDIT:

 

A no fakt może tak. To musi :

header("Refresh: 3; Url=index.php");

 

No to już nie wiem wogóle. Zobacz na manualu tam jest.

Opublikowano

Tak ale teraz od nowa robie od kogos innego i teraz mam taki błąd

 

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at E:\xampp\htdocs\~gra2\index.php:1) in E:\xampp\htdocs\~gra2\index.php on line 2

 

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at E:\xampp\htdocs\~gra2\index.php:1) in E:\xampp\htdocs\~gra2\index.php on line 2

 

Parse error: syntax error, unexpected $end in E:\xampp\htdocs\~gra2\login.php on line 34

 

index.php

<?php
session_start();
mysql_connect('localhost','root','') or die ('blad polaczenia z baza danych');
mysql_select_db('rpg') or die ('blad wyboru bazy danych');

switch ($_GET['action']){
case 'login': include 'login.php';break;
case 'logout': include 'logout.php';break;
default   : include 'default.php';break;
}

mysql_close()
?>

 

login.php

<?php
if (($_POST['login']!='') && ($_POST['haslo'])!=''){
$login=$_POST['login'];
$hasło=$_POST['haslo'];
echo $login.' -> '.$haslo;

$wynik=mysql_query("SELECT * FROM users WHERE login='$login' LIMIT 1");
if (mysql_num_rows($wynik)===1){
$dane=mysql_fetch_assoc($wynik);
if (md5($haslo)===$dane['password']){
 echo '<br>dziekujemy za zalogowanie sie';
 $_SESSION['id']=$dane['id'];
 $_SESSION['login']=$dane['login'];
}
else {
 echo '<BR>bledne haslo';
}

}
else {
echo '<br>nie istnieje takie konto';


}
?>
<form name="input" action="index.php?action=login" method="post">
login: <input type="text" name="login" /><br>
haslo: <input type="password" name="haslo" /><br>
<input type=submit' value='Sumbit' />
</form>

Opublikowano

Co do

[b]Parse error[/b]: syntax error, unexpected $end in [b]E:\xampp\htdocs\~gra2\login.php[/b] on line [b]34 [/b]

to zapomniałeś zamknąć klamry }.

logo.png

Opublikowano

Hmm może dodaj:

ob_start(); na poczatku strony i ob_end_flush(); na końcu,

lub też może masz złe kodowanie pliku, ja zawsze stosuje utf-8 bez boom

logo.png

Opublikowano

UTF-8 bez boom to zniknęło ale to czasem nie jest po to zeby bledow nie pokazywalo?

 

a po drugie nie moge sie przez to logowac wiec nie moge wziasc bez boom bo przez ten blad prawdopodobnie nie moge sie zalogowac bo pisze ze beledne haslo a jest dobre

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...