[ deximat @ 10.07.2007. 11:42 ] @
1. Pitanje- ID redni brojevi
Kako bi mogao postaviti za id poruke da mi se automatski redjaju brojevi redom? Jer sam definisao delete preko id-ja jer bi to trebalo biti unikatno, a ne znam kako da napravim da mi idu redom brojevi, pokusao sam nesto preko random ali ne ide...

1. Greska

Code:

<?php
ob_start();

include("korisnici.inc"); 
$link = mysql_connect($server, $db_user, $db_pass) 
or die ("Ne mogu se konektovati sa bazom".mysql_error()); 
mysql_select_db($database) 
or die ("Nemogu pronaci bazu zbog ".mysql_error()); 

$match = "select id from $table where username = '".$_POST['username']."' 
and password = '".$_POST['password']."';"; 

$qry = mysql_query($match) 
or die ("Ne mogu potvrditi podatke ".mysql_error()); 
$num_rows = mysql_num_rows($qry); 

if ($num_rows <= 0) { 
echo "Ne postoji username: <strong>".$_POST['username']."</strong><br>"; 
echo "<a href=index.php>Probaj ponovo</a>";
echo "<a href=register.php>Registruj se</a>"; 
exit;

} else { 

setcookie("loggedin", "".$_POST['username']."", time()+3600);
setcookie("username", "dex", TRUE);
echo "Dobrodosli: <strong>".$_POST['username']."</strong><br>"; 
echo "Idi na <a href=members.php>moj panel</a> "; 
}
ob_end_flush();
?>


U gore navedenom kodu mi uvek izbacuje gresku oko cookie... Sta da radim? Stvarno sehvatam zasto...

Izvinjavam se ako su pitanja glupa... ali tek nekoliko dana radim sa php...
Code:
Warning: Cannot modify header information - headers already sent by (output started at g:\program files\server\www\login.php:98) in g:\program files\server\www\login.php on line 135

Warning: Cannot modify header information - headers already sent by (output started at g:\program files\server\www\login.php:98) in g:\program files\server\www\login.php on line 136
[ 1r0nM4n @ 10.07.2007. 11:55 ] @
1. Za kolonu id u mysql bazi (pretpostavljam da to koristiš) dodaj opciju auto_increment.
2. http://www.elitesecurity.org/p1348151
[ deximat @ 10.07.2007. 12:04 ] @
2. nema nista objasnjeno za moj problem, jedino link ka php.net
[ 1r0nM4n @ 10.07.2007. 12:11 ] @
Kako nema?
Citat:
Q: Zašto ne mogu da pošaljem header (postavim cookie, startujem sesiju)?
A: Cookie (setcookie) i pokretanje sesije (session_start) spadaju u header funkcije koje moraju biti poslate na samom početku PHP skripte, pre bilo kakvog koda poslatog browseru korisnika.


g:\program files\server\www\login.php on line 135,136 - ovde imaš verovatno neki echo ili nešto slično. To ti pravi problem.
[ deximat @ 10.07.2007. 13:02 ] @
Hmmm...
Nisam to video presao sam onako na brzinu.... izvinjavam se...

Ali... ja nisam u mogucnosti da je stavim skroz na pocetak jer on prvo treba proveriti da li je ok pass is predhodne forme...

Code:

<?php
ob_start();

include("korisnici.inc"); 
$link = mysql_connect($server, $db_user, $db_pass) 
or die ("Ne mogu se konektovati sa bazom".mysql_error()); 
mysql_select_db($database) 
or die ("Nemogu pronaci bazu zbog ".mysql_error()); 

$match = "select id from $table where username = '".$_POST['username']."' 
and password = '".$_POST['password']."';"; 

$qry = mysql_query($match) 
or die ("Ne mogu potvrditi podatke ".mysql_error()); 
$num_rows = mysql_num_rows($qry); 

if ($num_rows <= 0) { 
echo "Ne postoji username: <strong>".$_POST['username']."</strong><br>"; 
echo "<a href=index.php>Probaj ponovo</a>";
echo "<a href=register.php>Registruj se</a>"; 
exit;

} else { 

setcookie("loggedin", "".$_POST['username']."", time()+3600);
setcookie("username", "".$_POST['username']."", TRUE);
echo "Dobrodosli: <strong>".$_POST['username']."</strong><br>"; 
echo "Idi na <a href=members.php>moj panel</a> "; 
}
ob_end_flush();
?>


usput, jos jedno pitanje

Zasto se moraju stavljati tacke i dvostruki dvostruki navodnici kod ovakvog primera:

Code:
"".$_POST['username'].""



?

Hvala
Linije koda:
135 setcookie("loggedin", "".$_POST['username']."", time()+3600);
136 setcookie("username", "".$_POST['username']."", TRUE);
[ dimke7even @ 10.07.2007. 15:53 ] @
Tacka je operator za spajanje stringova tj spajanje u string

$s1 = "sve ";
$s2 = "zajedno =";
$s3 = 5;

echo $s1.$s2.$s3;

Ovo ce ispisati

sve zajedno = 5


-------------------------------------------------------------------------------

Sto se tice tvog primera zasto ne pokusas da radis sa sesijama mnogo je zahvalnije, jeste da malo opterecujes server ali mnogo je lakse nego sa kolacicima a i za tvoj primer bi bilo idealno!

ako ces da me poslusas

http://www.php.net/manual/en/ref.session.php
[ deximat @ 14.07.2007. 14:17 ] @
pokusao sam i sessije odgovaraju isto

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at g:\program files\server\www\home_login.php:98) in g:\program files\server\www\home_login.php on line 112

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at g:\program files\server\www\home_login.php:98) in g:\program files\server\www\home_login.php on line 112

Warning: Cannot modify header information - headers already sent by (output started at g:\program files\server\www\home_login.php:98) in g:\program files\server\www\home_login.php on line 136
[ Nemanja Avramović @ 14.07.2007. 14:27 ] @
Stavi session_start(); na početak skripte. A podatke ubacuj u sesiju kasnije, kad zatreba.
[ deximat @ 14.07.2007. 15:27 ] @
Ne samo da treba postaviti na pocetak scripte nego i na pocetag body , ipak sam resio problem sa kolacicima...


Resio sam ga ovako:

Prvobitni kod koji je stajao negde na 200 liniji koda :
Code:

<?php
ob_start();

include("korisnici.inc"); 
$link = mysql_connect($server, $db_user, $db_pass) 
or die ("Ne mogu se konektovati sa bazom".mysql_error()); 
mysql_select_db($database) 
or die ("Nemogu pronaci bazu zbog ".mysql_error()); 

$match = "select id from $table where username = '".$_POST['username']."' 
and password = '".$_POST['password']."';"; 

$qry = mysql_query($match) 
or die ("Ne mogu potvrditi podatke ".mysql_error()); 
$num_rows = mysql_num_rows($qry); 

if ($num_rows <= 0) { 
echo "Ne postoji username: <strong>".$_POST['username']."</strong><br>"; 
echo "<a href=index.php>Probaj ponovo</a>";
echo "<a href=register.php>Registruj se</a>"; 
exit;

} else { 

setcookie("loggedin", "".$_POST['username']."", time()+3600);
setcookie("username", "".$_POST['username']."", TRUE);
echo "Dobrodosli: <strong>".$_POST['username']."</strong><br>"; 
echo "Idi na <a href=members.php>moj panel</a> "; 
}
ob_end_flush();
?>


Taj kod sam podelio na 2 dela :


1 Deo - Je bio deo koji je sadrzava kolacice i ide odma ispod body, nesmeta site-u jer ne sadrzi nikakvo iscitavanje
Code:

<?php
ob_start();

include("korisnici.inc"); 
$link = mysql_connect($server, $db_user, $db_pass) 
or die ("Ne mogu se konektovati sa bazom".mysql_error()); 
mysql_select_db($database) 
or die ("Nemogu pronaci bazu zbog ".mysql_error()); 

$match = "select id from $table where username = '".$_POST['username']."' 
and password = '".$_POST['password']."';"; 

$qry = mysql_query($match) 
or die ("Ne mogu potvrditi podatke ".mysql_error()); 
$num_rows = mysql_num_rows($qry); 

if ($num_rows <= 0) { 
exit;
} else { 
setcookie("loggedin", "".$_POST['username']."", time()+3600);
setcookie("username", "".$_POST['username']."", TRUE);
}
ob_end_flush();
?>



2. Deo - Sadrzi sve isto osim kolacica i sluzi kao echo

Code:

<?php
include("korisnici.inc"); 
$link = mysql_connect($server, $db_user, $db_pass) 
or die ("Ne mogu se konektovati sa bazom".mysql_error()); 
mysql_select_db($database) 
or die ("Nemogu pronaci bazu zbog ".mysql_error()); 

$match = "select id from $table where username = '".$_POST['username']."' 
and password = '".$_POST['password']."';"; 

$qry = mysql_query($match) 
or die ("Ne mogu potvrditi podatke ".mysql_error()); 
$num_rows = mysql_num_rows($qry); 

if ($num_rows <= 0) { 
echo "Ne postoji username: <strong>".$_POST['username']."</strong><br>"; 
echo "<a href=index.php>Probaj ponovo</a>";
echo "<a href=register.php>Registruj se</a>"; 
exit;

} else { 
echo "Dobrodosli: <strong>".$_POST['username']."</strong><br>"; 
echo "Idi na <a href=members.php>moj panel</a> "; 
}
?>