Zasticeni sadrzaj

Pozdrav svima,

Iskoristila sam skriptu za logovanje, koja povlaci podatke o korisniku iz MySql baze, i prosledjuje ga na zasticeni sadrzaj i to sve odlicno radi u lokalu.

Medjutim, za zasticeni sarzaj pise samo da treba da se na pocetku stranice ubaci sledeci kod:

<? session_start(); if(!session_is_registered(myusername)){ header("location:logovanje.html"); } ?>

i ako nema nikog ulogovanog, trebalo bi da se korisnik upiti na stranicu koja se zove logovanje.html.
Kada radim u lokalu, ovaj deo NE FUNKCIONISE, tj. pozivanjem direktno zasticene stranice:

http://localhost/www/zasticeno.html
, stranica se normalno otvara i ne trazi nikakav login…
Ako neko zna u cemu je problem, bicu zahvalna…

Prvo: obzirom je php, i obzirom je skripta u pitanju, stranica bi se trebala zvati “zasticeno.php”.
Iduce, na pocetku umjesto <? stavi <?php
I to bi trebalo biti to.

Pre svega, hvala na brzom odgovoru,
postupila sam po uputstvima, ali i dalje imam isti problem…

Jesi li sigurna da pozivaš

http://localhost/www/zasticeno.php

a ne

http://localhost/www/zasticeno.html
?

sigurna, ali jos jednom da napomenem da to radi u lokalu preko xampp-a

<?php $host="localhost"; // Host name $username="root"; // Mysql username $password="..."; // Mysql password $db_name="..."; // Database name $tbl_name="users"; // Table name // Connect to server and select databse. mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name")or die("cannot select DB"); // username and password sent from form $myusername=$_POST['myusername']; $mypassword=$_POST['mypassword']; // To protect MySQL injection (more detail about MySQL injection) $myusername = stripslashes($myusername); $mypassword = stripslashes($mypassword); $myusername = mysql_real_escape_string($myusername); $mypassword = mysql_real_escape_string($mypassword); $sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'"; $result=mysql_query($sql); // Mysql_num_row is counting table row $count=mysql_num_rows($result); // If result matched $myusername and $mypassword, table row must be 1 row if($count==1){ // Register $myusername, $mypassword and redirect to file "login_success.php" session_register("myusername"); session_register("mypassword"); header("location:$myusername/zasticeno.php"); } else { echo "Pogresni korisnicki podaci!"; } ?>

Ovo je skripta koja nakon provere podataka pri unosu preusmerava korisnika na zasticeno.php i to funkcionise…

Ovo dvoje su ti potrebni samo ako je tzv. magic_quotes_gpc ukljucen.

Provjeravaj da li ti je query uspio:

Osim toga, zasto selektiras sve podatke? A uopce ih ne koristis …
Mozes napraviti SELECT COUNT(*) AS cnt … dohvatiti cnt koji treba biti 1: if ($result[‘cnt’] == 1)…

Nisi startala session. Osim toga, koristis zastarjel nacin spremanja u session … na pogresan nacin. :slight_smile:

Pozdrav, Ivan.


Copyright © 2020 WM Forum - AboutContact - Sponsored by: Mydataknox & Webmaster.Ninja