Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z cookies
Forum PHP.pl > Forum > Gotowe rozwiązania
mouk
Stworzylem prosta mala ksiegarnie inetowa, ale niestety sa w niej bledy i nie wiem co z tym zrobic.
Problem nr 1. Nie dziala mi cookies nie mam pojecia dlaczego.
Tak wyglada skrypt dodajacy książkę do koszyka:

[php:1:73f7c8692d]<?php
<?
if ((!($wybrane_IDksiazki)) || (!($wybrane_tytul)) || (!($wybrane_cena)) || (!($ilosc_egz)))

{
header("Location: http://www.ksiegarnia.com/sklep.php");
exit;
}

if (!isset($user_id)) {
$token = md5(uniqid(rand()));
setcookie("user_id",$token,time()+86400,"/","ksiegarnia.com.pl");
}



$connection = mysql_connect ("localhost")
or die ("nie mozna nawiazac polaczenia z serwerem");

$db = mysql_select_db("ksiegarnia", $connection) or die ("Nie mozna wybrac bazy danych");



$cena_koncowa= $wybrane_cena * $ilosc_egz;

$sql = "insert into sledzenie_uzytkownika values ("$user_id", "$wybrane_IDksiazki", "$wybrane_tytul","$ilosc_egz","$wybrane_cena", "$cena_koncowa")";

$sql_result= mysql_query($sql, $connection) or die ("Nie moge wstawic rekordu") ;



$pozycje_w_koszyku = "select sum(ilosc_egz) from sledzenie_uzytkownika WHERE user_id= "$user_id"";

$ilosc_w_koszyku= mysql_query($pozycje_w_koszyku);


$suma_koszyka = mysql_result($ilosc_w_koszyku,0,"sum(ilosc_egz)");


?>


<html>
<head>
<title> dodano produkt do koszyka </title>
<LINK rel="stylesheet" href="style.css" type="text/css">

</head>

<body>

Wybrałes nastepujacy produkt: <? echo "$wybrane_tytul"; ?><br>

liczba egzemplarzy: <? echo "$ilosc_egz"; ?><br>
cena egzemparza : <? echo "$wybrane_cena"; ?><br>
Wartość zamowienia: <? echo "$cena_koncowa"; ?><br>
user id <? echo "$user_id"; ?>

<br>
Twój koszyk zawiera
<? if ($pozycje_w_koszyku =="1") {
echo "1 pozycje";
} elseif (($pozycje_w_koszyku == "2") || ($pozycje_w_koszyku =="3") || ($pozycje_w_koszyku =="4")) {

echo " $suma koszyka pozycje.";
} else {
echo "$suma_koszyka pozycji.";
}
?>

<br>
Twoje zamowienie: <a href="przeglad_zamowienia.php">Przeglądaj Twoje zakupy </a>

</body>
</html>


?>[/php:1:73f7c8692d]


Problem nr 2. Przy dzieleniu produktow na kategorie nie zawsze wyskauje mi w linku Idksiazki. Przy dziale elektronika jest ok, a juz przy dziale informatyka cos jest nie tak:(

kod skryptu:



[php:1:73f7c8692d]<?php


<?
if (!isset($user_id)) {
$token = md5(uniqid(rand()));
setcookie("user_id",$token,time()+86400,"/","ksiegarnia.com.pl");
}



$connection = mysql_connect ("localhost")
or die ("nie mozna nawiazac polaczenia z serwerem");


$db = mysql_select_db("ksiegarnia", $connection) or die ("Nie mozna wybrac bazy danych");





$sql_elektronika = "select count(IDksiazki) from ksiazki where kategoria = "elektronika"";

$sql_informatyka = "select count(IDksiazki) from ksiazki where kategoria = "informatyka"";

$sql_motoryzacja = "select count(IDksiazki) from ksiazki where kategoria = "motoryzacja"";

$sql_ekonomia = "select count(IDksiazki) from ksiazki where kategoria = "ekonomia"";

$sql_zwierzeta = "select count(IDksiazki) from ksiazki where kategoria = "zwierzeta"";

$sql_fantastyka = "select count(IDksiazki) from ksiazki where kategoria = "fantastyka"";

$sql_gotowanie = "select count(IDksiazki) from ksiazki where kategoria = "gotowanie"";





$sql_dane1 = "select IDksiazki,tytul from ksiazki where kategoria = "elektronika"";

$sql_dane2 = "select Idksiazki,tytul from ksiazki where kategoria = "informatyka"";

$sql_dane3 = "select IDksiazki,tytul from ksiazki where kategoria = "motoryzacja"";

$sql_dane4 = "select Idksiazki,tytul from ksiazki where kategoria = "ekonomia"";

$sql_dane5 = "select IDksiazki,tytul from ksiazki where kategoria = "zwierzeta"";

$sql_dane6 = "select Idksiazki,tytul from ksiazki where kategoria = "fantastyka"";

$sql_dane7 = "select Idksiazki,tytul from ksiazki where kategoria = "gotowanie"";



$sql_result_elektronika = mysql_query($sql_elektronika, $connection) or die ( "Nie moge pobrac liczby rekordow1");

$sql_result_informatyka = mysql_query($sql_informatyka, $connection) or die ( "Nie moge pobrac liczby rekordow");

$sql_result_motoryzacja = mysql_query($sql_motoryzacja, $connection) or die ( "Nie moge pobrac liczby rekordow");

$sql_result_ekonomia = mysql_query($sql_ekonomia, $connection) or die ( "Nie moge pobrac liczby rekordow");

$sql_result_zwierzeta = mysql_query($sql_zwierzeta, $connection) or die ( "Nie moge pobrac liczby rekordow");

$sql_result_fantastyka = mysql_query($sql_fantastyka, $connection) or die ( "Nie moge pobrac liczby rekordow");

$sql_result_gotowanie = mysql_query($sql_gotowanie, $connection) or die ( "Nie moge pobrac liczby rekordow");






$sql_result_dane1 = mysql_query($sql_dane1,$connection) or die ("Nie moge pobrac rekordu!");


$sql_result_dane2 = mysql_query($sql_dane2,$connection) or die ("Nie moge pobrac rekordu!");


$sql_result_dane3 = mysql_query($sql_dane3,$connection) or die ("Nie moge pobrac rekordu!");


$sql_result_dane4 = mysql_query($sql_dane4,$connection) or die ("Nie moge pobrac rekordu!");


$sql_result_dane5 = mysql_query($sql_dane5,$connection) or die ("Nie moge pobrac rekordu!");


$sql_result_dane6 = mysql_query($sql_dane6,$connection) or die ("Nie moge pobrac rekordu!");


$sql_result_dane7 = mysql_query($sql_dane7,$connection) or die ("Nie moge pobrac rekordu!");




// wyniki


$count1 = mysql_result ($sql_result_elektronika,0,"count(IDksiazki)");

$count2 = mysql_result ($sql_result_informatyka,0,"count(IDksiazki)");

$count3 = mysql_result ($sql_result_motoryzacja,0,"count(IDksiazki)");

$count4 = mysql_result ($sql_result_ekonomia,0,"count(IDksiazki)");

$count5 = mysql_result ($sql_result_zwierzeta,0,"count(IDksiazki)");

$count6 = mysql_result ($sql_result_fantastyka,0,"count(IDksiazki)");

$count7 = mysql_result ($sql_result_gotowanie,0,"count(IDksiazki)");


?>



<html>
<head>
<title>Produkty wg. kategorii</title>
<LINK rel="stylesheet" href="style.css" type="text/css">

</head>
<body>

<center> <h1> Lista kategorii:</h1></center>

<br>


Elektronika( <?
echo "$count1";
?> pozycji)

<table border = 2>
<?
while ( $row1 = mysql_fetch_array($sql_result_dane1))
{
$IDksiazki = $row1["IDksiazki"];
$tytul = $row1["tytul"];
echo"<td><a href ="pokaz_ksiazke.php?IDksiazki=$IDksiazki">$tytul</a></td>";
}
?>

</table>
<br><br>
Informatyka (<?
echo "$count2";
?> pozycji)


<table border = 2>
<?
while ( $row2 = mysql_fetch_array($sql_result_dane2))
{
$IDksiazki = $row2["IDksiazki"];
$tytul = $row2["tytul"];
echo"<td><a href ="pokaz_ksiazke.php?IDksiazki=$IDksiazki">$tytul</a></td>";
}
?>
</table>
<br><br>

Motoryzacja
(<?
echo "$count3";
?> pozycji)

<table border = 2>
<?
while ( $row3 = mysql_fetch_array($sql_result_dane3))
{
$IDksiazki = $row3["IDksiazki"];
$tytul = $row3["tytul"];
echo"<td><a href ="pokaz_ksiazke.php?IDksiazki=$IDksiazki">$tytul</a></td>";
}
?>
</table>
<br><br>

Ekonomia (<?
echo "$count4";
?> pozycji)

<table border = 2>
<?
while ( $row4 = mysql_fetch_array($sql_result_dane4))
{
$IDksiazki = $row4["IDksiazki"];
$tytul = $row4["tytul"];
echo"<td><a href ="pokaz_ksiazke.php?IDksiazki=$IDksiazki">$tytul</a></td>";
}
?>
</table>
<br><br>

Zwierzeta (<?
echo "$count5";
?> pozycji)


<table border = 2>
<?
while ( $row5 = mysql_fetch_array($sql_result_dane5))
{
$IDksiazki = $row5["IDksiazki"];
$tytul = $row5["tytul"];
echo"<td><a href ="pokaz_ksiazke.php?IDksiazki=$IDksiazki">$tytul</a></td>";
}
?>
</table>
<br><br>


Fantastyka (<?
echo "$count6";
?> pozycji)

<table border = 2>
<?
while ( $row6 = mysql_fetch_array($sql_result_dane6))
{
$IDksiazki = $row6["IDksiazki"];
$tytul = $row6["tytul"];
echo"<td><a href ="pokaz_ksiazke.php?IDksiazki=$IDksiazki">$tytul</a></td>";
}
?>
</table>
<br><br>



Gotowanie (<?
echo "$count7";
?> pozycji)



<table border = 2>
<?
while ( $row7 = mysql_fetch_array($sql_result_dane7))
{
$IDksiazki = $row7["IDksiazki"];
$tytul = $row7["tytul"];
echo"<td><a href ="pokaz_ksiazke.php?IDksiazki=$IDksiazki">$tytul</a></td>";
}
?>
</table>
</body>
</html>



?>[/php:1:73f7c8692d]
czachor
10 linia:[php:1:efdce2faca]<?
if (!isset($_COOKIE['user_id'])) {
?>[/php:1:efdce2faca]
używaj $_COOKIE, $_GET, $_POST, $_SERVER
mouk
problem nr 2 sie rozwiazał: glupia literowka zamiast IDksiazki mialem Idksiazki .

problem nr 2 rozwiazalem tak: if (!isset($user_id)) {
$token = md5(uniqid(rand()));
setcookie("user_id",$token,-1);

nie wiem czemu tamta skladnia ktora mialem wczesniej nie dzialala
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-2024 Invision Power Services, Inc.