Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: coś nie tak z wyjątkami?
Forum PHP.pl > Forum > PHP
Janek111
Piszę prosty system logowania i na lokalnym serwerze wszystko działa OK, natomiast na serwerze, na którym umieszczę stronkę wywala błąd:

Parse error: syntax error, unexpected '{' in /home/joshua/domains/matematyczna.pl/public_html/projekt/functions/funcLayout.php on line 73

W skrypcie linijka 73 to początek bloku try, a tak wygląda cały fragment odpowiadający za logowanie:

  1. /*
  2. cały poniższy kod trzymam w innej funkcji i potem sobie wyświetlam tam gdzie chc
    ę, ale to chyba nie ma znaczenia :)
  3. */
  4. <?php CreateTitle('Logowanie');
  5. $blnLogged = CheckUser();
  6. if ($blnLogged === FALSE){
  7. if (!isset($_POST['submit']))
  8. CreateLoginForm();
  9. else{
  10. try{
  11. $arrData = Login($_POST['username'], $_POST['password']);
  12. $_SESSION['userid'] = $arrData['userid'];
  13. $_SESSION['username'] = $arrData['username'];
  14. $_SESSION['firstname'] = $arrData['firstname'];
  15. $_SESSION['surname'] = $arrData['surname'];
  16. Greeting();
  17. }
  18. catch(Exception $e){
  19. CreateLoginForm();
  20. echo '<p>';
  21. echo $e->getMessage();
  22. echo '</p>';
  23. }
  24. }
  25. }
  26. else{
  27. $strPage = '';
  28. if(isset($_GET['page']))
  29. $strPage = $_GET['page'];
  30. if($strPage != 'logout')
  31. Greeting();
  32. else
  33. CreateLoginForm();
  34. }
  35. ?>


A to funkcja Login():

  1. <?php
  2. function Login($strUserName, $strPass){
  3. $arrData = array();
  4. $objDB = DBConnect();
  5. $mixDBData = $objDB->query("SELECT * FROM `users` WHERE `username` = '$strUserName'
  6.  AND `password` = sha1('$strPass')");
  7. if($mixDBData->num_rows<1)
  8. throw new Exception('Wpisano niepoprawne dane.');
  9. else
  10. $arrDBData = $mixDBData->fetch_assoc();
  11. $mixDBIfAdmin = $objDB->query("SELECT * FROM `admin` WHERE
  12. `userid` = ".$arrDBData['userid']."");
  13. if($mixDBIfAdmin->num_rows>0){
  14. $arrData['admin'] = 'YES';
  15. }
  16. foreach($arrDBData as $key => $value){
  17. if($key=='password')
  18. continue;
  19. $arrData[$key] = $value;
  20. }
  21. return $arrData;
  22. }
  23. ?>


Dodam jeszcze, że na tym samym serwerze używałem już wyjątków pisząc inne strony i wszystko było ok.
Siedzę na tym długo i nie wiem co może być przyczyną :/
nospor
ze tak zapytam, a jakiej wersji php uzywasz na tym serwerze co ci nie dziala? Bo wyjatki to wprowadzono dopiero w php5.
Janek111
Kurcze, rzeczywiście zapomniałem dodać plik .htaccess z AddType php5-cgi .php, no ale po dodaniu dzieje się to samo.
nospor
wyswietl w skrypcie sobie to:
http://www.php.net/manual/pl/function.phpversion.php
by miec pewnosc czy oby napewno dzialasz na php5
Janek111
Current php version: 4.4.4

Jakiś wałek, .htaccess wgrałem jak należy smile.gif No dobra to przynajmniej wiem, z czym kombinować.

Dzięki winksmiley.jpg

edit: AddHandler php5-cgi .php zamiast AddType php5-cgi .php i już działa. To AddType wziąłem z FAQ mojego serwera...
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.