Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][Postgresql] Błąd na stronie
Andi2005
post 14.03.2010, 11:30:25
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 3.03.2010

Ostrzeżenie: (0%)
-----


Napisałem skrypt logowania

login.php

<?php

function checkPass($user, $pass)
{
$userNameLength = strlen($user);
$userPassLength = strlen($pass);

if($userNameLength < 3 || $userNameLength > 20 || // LINIA 9
$userPassLength < 6 || $userPassLength > 40){
return 2;
}

//$prawa = 1;
//echo "prawa:".$prawa."<br />";
$host = "localhost";
$userss = "postgres";
$passs = "postgres";
$db = "Kon";

$connection = pg_connect ( "host = $host dbname = $db userss = $user password = $passs ");

if ($connection)
{
printf ("Połączenie z bazą zakończone sukcesem");
}
else
{
print ("Nie można połączyć się z bazą");
}

$query = "SELECT Id FROM Users WHERE Nazwa='$user' ";
$query .= "AND Haslo='$pass'";

if(!$result = pg_query($query, $connection)) //LINIA 29
{
//echo('Wystąpił błąd: nieprawidłowe zapytanie...');
@mysql_close();
return 1;
}

if(@pg_num_rows($result) != 1){
//echo('Wystąpił błąd: nieprawidłowe wyniki zapytania...');
@pg_close();
return 2;
}

if(!$row = pg_fetch_row($result)){
//echo('Wystąpił błąd: nieprawidłowe wyniki zapytania...');
@pg_close();
return 1;
}



$userId = $row[0];
$_SESSION['UserId'] = $userId;

$query = "SELECT PrzywilejeId FROM Uzytkownicy_Przywileje WHERE UserId=$userId ";

if(!$result = pg_query($query, $connection)){
//echo('Wystąpił błąd: nieprawidłowe zapytanie...');
@pg_close();
return 1;
}
$_SESSION['Przywileje'] = array();
while($row = mysql_fetch_row($result)){
switch($row[0]){
case 1 : $_SESSION['Przywileje']['Administrator'] = true;
case 2 : $_SESSION['Przywileje']['News'] = true;
}
}

@pg_close();
return 0;
}

session_start();
if(isSet($_SESSION['zalogowany'])){
header("Location: main.php");
}
else if(!isSet($_POST["haslo"]) || !isSet($_POST["user"])){
$_SESSION['komunikat'] = "Wprowadź nazwę i hasło użytkownika:";
include('form.php');
} // LINIA 84
else{
$val = checkPass($_POST["user"], $_POST["haslo"]);
if($val == 0){
$_SESSION['zalogowany'] = $_POST["user"];
header("Location: main.php");
}
else if($val == 1){
$_SESSION['komunikat'] = "Błąd serwera. Zalogowanie nie było możliwe.";
include('form.php');
}
else if($val == 2){
$_SESSION['komunikat'] = "Nieprawidłowa nazwa lub hasło użytkownika.";
include('form.php');
}
else{
$_SESSION['komunikat'] = "Błąd serwera. Zalogowanie nie było możliwe.";
include('form.php');
}
}

?>


pojawia się bład (linie błędu zaznaczyłem w kodzie)

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at G:\xampp\htdocs\menu\projekt1\login.php:9) in G:\xampp\htdocs\menu\projekt1\login.php on line 84

Nie wiem co oznacza ten błąd - bardzo proszę o pmoc

Ten post edytował Andi2005 14.03.2010, 14:56:54
Go to the top of the page
+Quote Post
viking
post 14.03.2010, 11:33:12
Post #2





Grupa: Zarejestrowani
Postów: 6 377
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Że wysłałeś coś do przeglądarki przed ustawieniem sesji.


--------------------
Go to the top of the page
+Quote Post
Kużdo
post 14.03.2010, 11:57:25
Post #3





Grupa: Zarejestrowani
Postów: 181
Pomógł: 14
Dołączył: 4.06.2008

Ostrzeżenie: (0%)
-----


session_start(); daje się na samym początku początków, że tak napiszę ;P Najlepiej dać do głównych plików n sam początek, zaraz po <?php i trzeba pamiętać, że ustawia się to TYLKO RAZ, więc wszelkie pliki includowane już nie powinny tego zawierać...

Ten post edytował kuzdo 14.03.2010, 11:57:35
Go to the top of the page
+Quote Post
Andi2005
post 14.03.2010, 14:58:54
Post #4





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 3.03.2010

Ostrzeżenie: (0%)
-----


OK Poradziłem sobie z tym błędem , teraz jednak pojawia się następujący

Połączenie z bazą zakończone sukcesem
Fatal error: Call to undefined function pg_guery() in G:\xampp\htdocs\login.php on line 29

Czy tak funkcja nie może byćquestionmark.gif nie mogę znależ błedu sad.gif
Go to the top of the page
+Quote Post
Kużdo
post 14.03.2010, 15:15:44
Post #5





Grupa: Zarejestrowani
Postów: 181
Pomógł: 14
Dołączył: 4.06.2008

Ostrzeżenie: (0%)
-----


Przecież masz wyraźnie napisane co jest nie tak... Nie może znaleźć takiej funkcji... I ma rację bo ta funkcja nazywa się pg_query a nie pg_guery.
Go to the top of the page
+Quote Post
Andi2005
post 14.03.2010, 20:08:12
Post #6





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 3.03.2010

Ostrzeżenie: (0%)
-----


kuzdo dziękuje bardzo

Mam jednak błąd

Warning: pg_query() [function.pg-query]: Query failed: ERROR: unterminated quoted string at or near "'testtest" LINE 1: SELECT Id FROM users WHERE Nazwa='test' AND Haslo='testtest ^ in G:\xampp\htdocs\login.php on line 29
 Błąd serwera. Zalogowanie nie było możliwe.
Go to the top of the page
+Quote Post
Kużdo
post 14.03.2010, 21:26:37
Post #7





Grupa: Zarejestrowani
Postów: 181
Pomógł: 14
Dołączył: 4.06.2008

Ostrzeżenie: (0%)
-----


Jedno pytanie: Umiesz czytać? Masz wyraźnie podane, co jest nie tak. Nie wiem czy zmieniałeś te zapytanie SELECT Id FROM users... ale gdzieś chyba brakuje apostrof albo coś innego...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 12.06.2025 - 13:54