[ zdinki @ 11.04.2012. 08:28 ] @
Pozdrav svima!
Pocetnik sam u PHP programiranju, i poceo sam da pravim za fax webshop za ispit. Pogledao sam literaturu i dosta tutorijala, ali mi se stalno javljaju neke greske koje nikako ne mogu da otklonim. Greska koju javlja kada pokrenem shop je --> Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\wamp\www\tutorials\cart\products.php on line 13
U prilogu sam okacio skripte i sql bazu. Da li neko moze da mi pomogne da to ispravim? Hvala unapred!


[Ovu poruku je menjao zdinki dana 11.04.2012. u 09:38 GMT+1]
[ pajaja @ 11.04.2012. 11:43 ] @
Imas sintaksnu gresku u 8. liniji. Nisi zatvorio " kod SQL upita.
[ zdinki @ 11.04.2012. 14:40 ] @
Hvala Pavle! Zatvorio sam navodnike, i sada stranica sa produktima izgleda kako treba, ali kada kliknem na Add to Cart nece da puni korpu, a kada predjem na korpu javlja mi gresku --> Parse error: syntax error, unexpected '{' in C:\wamp\www\tutorials\cart\cart.php on line 11 , ali ne mogu da nadjem gde nedostaje {
[ pajaja @ 11.04.2012. 23:27 ] @
Greska ti kaze da imas neocekivanu { a ne da nedostaje {.
Problem je u:
Code (php):
} else if($_POST['quantity-'.$key] >= 50{
 

fali ti zatvorena zagrada:
Code (php):

} else if($_POST['quantity-'.$key] >= 50){
 
[ zdinki @ 12.04.2012. 07:43 ] @
pozdrav svima!
problem sto nije hteo da puni korpu je bio usledecem, u liniji --> <td><a href="index.php?page=products&action=add&id=<?php echo $row['id_products']; ?>">Add to Cart</a></td> je umesto, =add&id stajalo =add$id . i u bazi je pisalo id_product, i to sam prepravio u id_products , onda je pocelo da puni korpu. takodje i onu zagradu sam stavio sto je Pavle naveo. Sada sve radi, puni korpu, mogu da je updateujem, samo stalno gore stoji sledece greska -->Notice: Undefined index: quantity- in C:\wamp\www\tutorials\cart\cart.php on line 9 , a DW nigde mi ne javlja gresku.
Evo koda:
<?php
if (isset($_POST['submit'])){
foreach($_POST as $key => $value) {
$key = explode ("-", $key);
$key = end($key);
$key = explode("submit",$key);
$key = end($key);

if ($_POST['quantity-'.$key] <= 0){ // ovo je linija 9
unset($_SESSION['cart'][$key]);
} else if($_POST['quantity-'.$key] >= 50) {
$_SESSION['cart'][$key]['quantity'] = 50;
} else {
$_SESSION['cart'][$key]['quantity'] = $value;
}
}
} error_reporting (0);
?>
<h1>View Cart</h1>
<a href="index.php?page=products" title="Go back to products page">Go back to products page</a>
<?php $sql = "SELECT * FROM products WHERE id_products IN (";
foreach($_SESSION['cart'] as $id => $value){
$sql .= $id . ",";
}
$sql = substr($sql,0,-1).") ORDER BY name ASC";
$query = mysql_query($sql);
if(empty($query)) {
echo"<br /><span class='i'>You need to add an item before you can view it here</span>";
}
?>
<form method="POST" action="index.php?page=cart">
<fieldset>
<table>
<tr>
<th>Name</th>
<th>Quantity</th>
<th>Price per item</th>
<th>Total Cost</th>
</tr>
<?php

$sql = "SELECT * FROM products WHERE id_products IN (";
foreach($_SESSION['cart'] as $id => $value){
$sql .= $id . ",";
}
$sql = substr($sql,0,-1).") ORDER BY name ASC";
$query = mysql_query($sql);
$total_price = 0;
if(!empty($query)){
while($row = mysql_fetch_array($query)) {
$subtotal = $_SESSION['cart'][$row['id_products']]['quantity']*$row['price'];
$total_price += $subtotal;
?>
<tr>
<td><?php echo $row['name'];?></td>
<td><input type="text" name="quantity-<?php echo $row['id_products'];?>" size="5" value="<?php echo $_SESSION['cart'][$row['id_products']]['quantity'];?>" /> </td>
<td><?php echo "$" . $row['price'];?></td>
<td><?php echo "$" . $_SESSION['cart'][$row['id_products']]['quantity']*$row['price'];?></td>
</tr>
<?php
} }
?>



<tr>
<td></td>
<td></td>
<td>Total Price:</td>
<td><?php echo "$" . $total_price;?></td>
</tr>
</table>
<input type="submit" name="submit" value="Update Cart" /><fieldset>
</form>
<p> To remove an item, set quantity to 0 </p>
[ VladaSu @ 13.04.2012. 12:02 ] @
Od koga si "posudio" ovaj kod jer ga ti nisi pisao?
[ zdinki @ 13.04.2012. 12:14 ] @
to je kod sa tutoriala sa youtube, pise sve lepo gore. I treba mi tako nesto, ali jos moram da ubacim deo za registraciju. treba mi takav webshop.
ako te interesuje mogu ti poslati linkove. problem je sto ima i gresaka u samom tutorialu, pa nece sve da radi kako treba. neke sam sam ispravio, a pomogao mi je i Pavle oko nekih. ako ti umes da nadjes gresku, bicu ti vrlo zahvalan.
[ zdinki @ 14.04.2012. 10:16 ] @
niko nema nikakvu ideju? :(
[ pajaja @ 14.04.2012. 14:59 ] @
Pa na prvi pogled je problem u ovome:
Code (php):

$key = explode("submit",$key);
$key = end($key);


name u input field-u pravis kao:
Code (php):

name="quantity-<?php echo $row['id_products'];?>"
 

a tu nema nigde "submit", tako da ce explode da ti vrati prazan array. Probaj da izbacis one dve linije koda iznad.
[ zdinki @ 18.04.2012. 09:22 ] @
Probao sam, i onda javi ovu gresku --> Notice: Undefined index: quantity-submit in C:\wamp\www\tutorials\cart\cart.php on line 8
Izgleda da ce ovo biti neresiv problem za mene :(
[ webjunior @ 19.04.2012. 15:42 ] @
Mozda ovo:

Code:
<td><?php echo "$" . $_SESSION['cart'][$row['id_products']]['quantity']*$row['price'];?></td>


umesto ['price'] stavi ["price"], ako ti je to cena, da bi ga php obradio. Lupam, kazem mozda??
[ zdinki @ 22.04.2012. 11:48 ] @
Nece da moze ni tako :) Mada nema veze, sredio sam sve za ono sto meni treba, pa mi ta greska toliko nece ni smetati.
Hvala svima na trudu u svakom slucaju ;)
[ pajaja @ 25.04.2012. 02:06 ] @
Pored provere da li je <= 0 proveri da li taj key postoji u nizu sa isset() funkcijom. Ako jeste tek onda radi sa njim pa neces dobiti notice.