Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Php problem pri logovanju..

[es] :: PHP :: PHP za početnike :: Php problem pri logovanju..

[ Pregleda: 3176 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Kerim O

Član broj: 206460
Poruke: 59
178.77.9.*



Profil

icon Php problem pri logovanju..25.10.2011. u 21:23 - pre 152 meseci
Pozdrav.Imam jedan neobičan problem koji mi se nikada nije desio.Naime imam login formu za koju mislim da je kod ispravan ali mi je problem što mi kada pokušam da submitujem redirektuje me na login.php ne postojeći.
Ne znam zašto bi me tamo redirektovao a trebao bi na onu stranicu koju stavim u header pa da me redirektuje ako je ispravan login.

Isto kao i ovo,desilo mi se da imam potpuno ispravan kod koji mi je radio ali odjednom prilikom logina kada mi se forma prebaci na stranicu nakon uspjesnog logina piše da je header već poslan a nije mi se dešavalo..
Evo koda..

Code:
<?php
session_start();

include'db.php';
include'funkcija.php';
$nesto="news";
odabirbaze($nesto);

if(isset($_POST['logse']))
{
    $user=$_POST['ime'];
    $lozinka=$_POST['lozinka'];
    
    
    
    
 $upit=mysql_query("SELECT * FROM login WHERE username='$user' AND password='$lozinka'");
 $num=mysql_num_rows($upit);
 
 if($num!=0)
 {
      $_SESSION['user']=$user;
     header('Location:clanovi.php');
    
 }
 else
{
    echo "Nemoguće se logovati";
}
}
else
{
?>


<form method="post" action="login.php">
Ime:<input type="text" name="ime" ><br>
Lozinka:<input type="password" name="lozinka" ><br>
<input type="submit" name="logse" value="Loguj se">
</form>
<?php    
}
?>



















 
Odgovor na temu

VladaSu

Član broj: 31634
Poruke: 1099
*.dynamic.isp.telekom.rs.



+218 Profil

icon Re: Php problem pri logovanju..26.10.2011. u 00:34 - pre 152 meseci
Mora da ti postoji login.php jer imas action="login.php"
Takodje posle header('Location:clanovi.php'); treba da imas exit;
jer si sa ovim redom postavio header na redirekciju ali nisi prestao sa ucitavanjem skripte.
A header moze da poslat i u 'db.php' ili 'funkcija.php' ako recimo pre ili posle <?php ?> imas prazan red, tj. enter.
Ako hoces da lakse nadjes gde ti je header poslat stavi na par mesta echo headers_sent() i tamo gde ti je ispisao 1 znaci da je pre njega poslat header pa onda pomeraj
ovu funkciju blize pocetku koda sve dok ti nista ne ispise pa je izmedju nista i poslednjeg ispisa 1 negde poslat header.
Pozeljno je stavis i error_reporting(E_ALL) za lokal verziju sajta.

[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]
 
Odgovor na temu

Kerim O

Član broj: 206460
Poruke: 59
178.77.9.*



Profil

icon Re: Php problem pri logovanju..26.10.2011. u 01:44 - pre 152 meseci
Hvala na jako brzom i iscrpnom odgovoru :) Grešku osnovnu sam napravio i slučajno sam previdio kad sam pokušavao da otkrijem grešku. Ovo je riješeno.
Sada mi radi ovo uredu sve,medjutim kada pokušam da ubacim html kod u ovo ne radi mi kako treba.Odnosno forma se radi i tada se učita css kako treba, medjutim kada pokušam da se logujem dobijem eror
"Warning: Cannot modify header information - headers already sent by (output started at D:\xampp\htdocs\lala.php:13) in D:\xampp\htdocs\lala.php on line 36".
Predpostavljam da je do mog html koda medjutim nisam se baš susretao sa ovakvim stvarima. Namjestio sam u css fajlu da mi se u divu wrapper pojavi forma za login a u slućaju da je login nepravilan da se u tom divu ispiše poruka sa <h5>tagom?

Ovo je jedan od kodova koji sam pokušavao iskoristiti za ovo gore.
Code:

<?php
session_start();
?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="adminstil.css" />
</head>
<body>
<div class="wrapper">


<?php

include'db.php';
include'funkcija.php';
$nesto="news";
odabirbaze($nesto);


if(isset($_POST['logse']))
{
    $user=$_POST['ime'];
    $lozinka=$_POST['lozinka'];
    
    
    
    
    
 $upit=mysql_query("SELECT * FROM login WHERE username='$user' AND password='$lozinka'");
 $num=mysql_num_rows($upit);
 
 if($num!=0)
 {
      $_SESSION['user']=$user;
     header('Location:clanovi.php');
    
 }
 else
{
    echo "Nemoguće se logovati";
}
}
else
{
?>


<form method="post" action="lala.php">
Ime:<input type="text" name="ime" ><br>
Lozinka:<input type="password" name="lozinka" ><br>
<input type="submit" name="logse" value="Loguj se">
</form>
<?php    
}
?>
</div>
</body>
</html>















 
Odgovor na temu

VladaSu

Član broj: 31634
Poruke: 1099
*.dynamic.isp.telekom.rs.



+218 Profil

icon Re: Php problem pri logovanju..26.10.2011. u 21:35 - pre 152 meseci
Postavio si pitanje i u pitanju odgovorio.

Warning: Cannot modify header information - headers already sent by (output started at D:\xampp\htdocs\lala.php:13) in D:\xampp\htdocs\lala.php on line 36
[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]
 
Odgovor na temu

VladaSu

Član broj: 31634
Poruke: 1099
*.dynamic.isp.telekom.rs.



+218 Profil

icon Re: Php problem pri logovanju..26.10.2011. u 22:33 - pre 152 meseci
http://php.net/manual/en/function.header.php
*
Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP. It is a very common error to read code with include(), or require(), functions, or another file access function, and have spaces or empty lines that are output before header() is called. The same problem exists when using a single PHP/HTML file.

Sto znaci ako ti pre header imas bilo kakav echo, print, output u smislu html-a, teksta, praznih linija ili space.. onda ti header naredba nece raditi.
A tebi je ovo pre header naredbe.

Code (html):

<html>
<head>
<link rel="stylesheet" type="text/css" href="adminstil.css" />
</head>
<body>
<div class="wrapper">



 


Treba prvo da radis obradu podataka i tek posle obrade da iskljucivo radis samo ispis html-a i podataka.
Ti radis prvo malo ispis, pa obradu, pa opet ispis i onda ti prilikom obrade ne radi redirekcija zbog prvog ispisa.
[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]
 
Odgovor na temu

HelloCode
Novi Sad

Član broj: 254053
Poruke: 112
*.dynamic.isp.telekom.rs.



+11 Profil

icon Re: Php problem pri logovanju..29.10.2011. u 22:15 - pre 152 meseci
"Warning: Cannot modify header information - headers already sent by (output started at D:\xampp\htdocs\lala.php:13) in D:\xampp\htdocs\lala.php on line 36".

Ovo mi je veoma poznato i jako me je zivciralo, u tolikoj meri da sam hteo da polupam ceo kompjuter, probao sam da ga stavim gore i nekako sam uspeo ali onda mi nije lepo donji deo koda izgleda, i uvek neke muke oko tog headera, i onda sam lepo nasao zamenu, koristi <META http-equiv="refresh" content="5;URL=http://www.url.com"> gde je content="5 ustvari 5 sekundi do refresha, ili stavi 1 za instant refresh, i to bi trebalo da ti reshi sve muke.
 
Odgovor na temu

dakipro
Dalibor Jovic
Web Developer
Bergen, Norway

Moderator
Član broj: 31848
Poruke: 1792
*.dynamic.sbb.rs.

Sajt: norway.dakipro.com


+190 Profil

icon Re: Php problem pri logovanju..30.10.2011. u 09:56 - pre 152 meseci
ova redirekcija je zaobilazenje problema, ne resavanje istog. Lakse moze da uradi tako sto ce da iskljuci error reporting ili ukljuci output_buffering, sto i dalje ne resava problem vec je samo princip rada "ako se ne vidi = ne postoji". Prava stvar za resavanje ovakvih problema je upotreba nekog template engina kao npr smarty ili bilo koji drugi, pa cak i neki custom, ili barem skupiti html na dnu php fajla u nekoj promenjivoj i odstampati gotov html na samom kraju koda.
 
Odgovor na temu

[es] :: PHP :: PHP za početnike :: Php problem pri logovanju..

[ Pregleda: 3176 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.