• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

PHP Parse error

VPS Starter Arubacloud
–1 głos
870 wizyt
pytanie zadane 28 lipca 2016 w PHP przez MaciekM Użytkownik (990 p.)

Cześć,

przepisując dziś kod logowania napotkałem się na dziwny błąd.

Do tego fragmentu kodu:

if (isset($_POST['email'], $_POST['p'])) {
    $email = $_POST['email'];
    $password = $_POST['password'];

php wywala taki błąd:

PHP Parse error:  syntax error, unexpected 'if' (T_IF)

macie może jakieś pomysły co tu zawaliło?

Do tego pragnę dodać że gdy nad tym if'em był ten kod:

sec_session_start();

wywalało taki błąd:

PHP Parse error:  syntax error, unexpected 'sec_session_start' (T_STRING)

więc usunąłem na chwilę ten kawałek kodu (powyższy) i wywaliło ten błąd który jest na samej górze tematu.

2 odpowiedzi

0 głosów
odpowiedź 28 lipca 2016 przez Neko Użytkownik (780 p.)
Pokaż fragment kodu wyżej :)
komentarz 28 lipca 2016 przez MaciekM Użytkownik (990 p.)
<?php
include_once 'db_connect.php';
include_once 'functions.php';
require 'http://storage.ecgames.network/WSE/GLOBAL/errorshow.php'

i tak to jest z poradnika z wikihow.com
komentarz 28 lipca 2016 przez Neko Użytkownik (780 p.)
Po 'require' nie powinno być średnika? To by wyjaśniało ten błąd :D
komentarz 28 lipca 2016 przez MaciekM Użytkownik (990 p.)

Po usunięciu linii z require (i tak nie działała) powiem ci że plik działa. Ale mam jeszcze jeden problem:

skrypt process_login.php po sprawdzeniu przerzuca na stronię protected_page.php na której znajduje się ten kod który traktuje mnie swoim else:

<?php
include_once 'includes/db_connect.php';
include_once 'includes/functions.php';
 
// Include database connection and functions here.  See 3.1. 
sec_session_start(); 
if(login_check($mysqli) == true) {
require 'assets/test.php';
} else { 
        echo 'You are not authorized to access this page, please login.';
}
?>

 

komentarz 28 lipca 2016 przez Neko Użytkownik (780 p.)
Podaj kody źródłowe oby dwóch plików, tak btw. to dobre by było napisanie systemu logowania samemu, nie jest to trudne, a pozwala inaczej spojrzeć na stronę i dać sporo pomysłów :D
komentarz 28 lipca 2016 przez MaciekM Użytkownik (990 p.)

Zrobię tak na inne strony które są dla mnie mniej ważne. Ten system logowania który przepisuje jest poprostu bardzo bardzo bezpieczny a właśnie takiego potrzebuje do tego projektu. Po zalogowaniu będzie można wykonywać komendy SSH itd.

Kod źródłowy db_connect.php:

<?php
include_once 'psl-config.php';   // As functions.php is not included
$mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE);

Kod źródłowy functions.php:

http://pastebin.com/rCQyhhVd

Kod źródłowy psl_config.php:

<?php
/**
 * These are the database login details
 */  
define("HOST", "localhost");     
define("USER", "sec_user");     
define("PASSWORD", "hasło do dejtabejsa");     
define("DATABASE", "secure_login");    
define("CAN_REGISTER", "any");
define("DEFAULT_ROLE", "member");
 
define("SECURE", FALSE);    // USUNĄĆ PO SKOŃCZENIU
?>

Link do poradnika z którego jest cały system:

http://www.wikihow.com/Create-a-Secure-Login-Script-in-PHP-and-MySQL

komentarz 28 lipca 2016 przez Neko Użytkownik (780 p.)
A skrypt process_login? Który przekierowywuje Cię na ową stronę?
komentarz 28 lipca 2016 przez MaciekM Użytkownik (990 p.)
<?php
include_once 'db_connect.php';
include_once 'functions.php';
 
sec_session_start(); // Our custom secure way of starting a PHP session.
 
if (isset($_POST['email'], $_POST['p'])) {
    $email = $_POST['email'];
    $password = $_POST['password'];
 
    if (login($email, $password, $mysqli) == true) {
        // Login success 
        header('Location: ../protected_page.php');
    } else {
        // Login failed 
        header('Location: ../index.php?error=1');
    }
} else {
    // The correct POST variables were not sent to this page. 
    echo 'Invalid Request';
}
?>

Dodam jeszcze że znajduje się w folderze includes razem z poniżej wymienionymi plikami:

-db_connect

-functions

-psl-config

komentarz 29 lipca 2016 przez Neko Użytkownik (780 p.)
Skoro wyrzuca ci tego else, to znaczy że funkcja login_check() zwraca false, czyli coś po drodze się nie powiodło.Swoją drogą to całkiem ciekawy ten skrypt.
komentarz 29 lipca 2016 przez MaciekM Użytkownik (990 p.)
Email i hasło na 100% poprawne bo przy wpisaniu losowych wywala błąd
0 głosów
odpowiedź 29 lipca 2016 przez MaciekM Użytkownik (990 p.)
Odświeżam:

Błąd: protected_page.php traktuje mnie swoim elsem chociaż dane są poprawne na 100% bo jak wpisuje losowe to nawet nie przekierowuje mnie na protected_page.

Pliki źródłowe z folderu includes:

-db_connect: http://pastebin.com/dKSsefSR

-psl-config: http://pastebin.com/xc1Yji2n

-process_login (odpowiada za action w formularzu logowania): http://pastebin.com/uRFLCVPp

-functions: http://pastebin.com/Td8QXa03

Oraz formularz znajdujący się na index.php:

http://pastebin.com/gnrBv3tc
komentarz 30 lipca 2016 przez efiku Szeryf (75,160 p.)
Coraz dziwniejsze kody ostatnio wrzucacie. :/
komentarz 30 lipca 2016 przez maly Nałogowiec (37,190 p.)
@MaciekM
Przepisywaniem nie nauczysz się niczego a przez takie materiały zrobisz sobie krzywdę.

@efik
To się nazywa programowanie niekonwencjonalne ;)

Podobne pytania

+1 głos
2 odpowiedzi 525 wizyt
0 głosów
1 odpowiedź 1,252 wizyt
pytanie zadane 25 stycznia 2020 w PHP przez Borys Użytkownik (830 p.)
0 głosów
1 odpowiedź 1,419 wizyt
pytanie zadane 3 grudnia 2017 w PHP przez Mateusz Bogumił Obywatel (1,380 p.)

92,454 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...