Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][Postgresql] Błąd na stronie
Forum PHP.pl > Forum > Przedszkole
Andi2005
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
viking
Że wysłałeś coś do przeglądarki przed ustawieniem sesji.
Kużdo
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ć...
Andi2005
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
Kużdo
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.
Andi2005
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.
Kużdo
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...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.