hi guys i have an ecommerce and im using ajax for not loading the page when add to cart is clicked but its not working, when its not logged in products are not adding in to cart but the user is not getting redirect but when its loggedin the add to cart is working well. my data.php, the url in ajax:
<?php
session_start();
require('dbcon.php');
if( isset($_SESSION['nome']) && !empty($_SESSION['nome']) )
{
// if(isset($_POST['prodotti-log'])){
?>
<?php
$pid=$_POST['hidden_id'];
$hnome=$_POST['hnome'];
$prezzo=$_POST['hprezzo'];
$cid=$_SESSION['cid'];
$pqty=$_POST['qty'];
$_SESSION['PID'] = $pid;
$sel="SELECT * FROM cart WHERE pid='$pid' AND cid='$cid'";
$rs=$conn->query($sel);
if ($rs->num_rows>0) {
while ($row=$rs->fetch_assoc()) {
$fqty=$row['qty']+$pqty;
$cart_id=$row['id'];
$upd="UPDATE cart SET qty='$fqty' WHERE id='$cart_id'";
$conn->query($upd);
}
}
else {
$ins = "INSERT INTO cart SET cid='$cid', qty='$pqty', pid='$pid', prezzo='$prezzo',pnome='$hnome'";
$conn->query($ins);
}
// }
// User is logged in, show logout menu here
?>
<?php
}
else
{
// User is not logged in, show login menu here
// if(isset($_POST['prodotti-log']))
// {
header('Location: login.php');
// }
} ?>
what ajax is doing
<script>
$(document).ready(function() {
// Bind the forms submit event
$('.form-prodotti').on('submit', function (event) {
event.preventDefault();
// Here we can use $(this) to reference the correct form
$.ajax({
method: "POST",
url: "data.php",
data: $(this).serialize(),
success: function (response) {
// alert("success");
}
});
});
});
</script>
my products form
if(isset($_GET['id']) && $_GET['id']!=''){
$cat_id=mysqli_real_escape_string($conn,$_GET['id']);
if ($cat_id>0) {
$get_product=get_product($conn,'',$cat_id);
}
else {
?>
<script>
window.location.href = 'index.php';
</script>
<?php
}
}else {
?>
<script>
window.location.href='index.php';
</script>
<?php
}
<?php
if(count($get_product)>0){
foreach($get_product as $list){
?>
<!-- alimentari------------------------------ -->
<!-- <div class="item"> -->
<!-- <p class="time">Miglior Prezzo!</p>
<div class="img-box">
<img src="images/carrots.jpg" alt="">
</div>
<p class="detail">carote buone da mangiare
</p>
<a href="#" class="price">Prezzo-€ 1.99(1kg)</a>
<div class="cart">
<a href="#">Aggiungi al carrello</a>
</div>
</div> -->
<form action="" method="POST" class="form-prodotti">
<a href="dettagli_prodotti.php?id=<?php echo $list['id']?>" style="text-decoration:none;">
<div class="item">
<div class="slim">
<img src="<?php echo $list['image'] ?>" alt="">
</div>
<div class="slt">
<p id="p1">
<?php echo $list['nome'] ?>
</p>
<!-- <p>sapevi che le carote...</p> -->
<p id="p2">€
<?php echo $list['prezzo'] ?>
<?php
if ($list['type'] == "kg") {
?>
(1 <?php echo $list['type'] ?>)
<?php
}
elseif ($list['type'] == "pz") {?>
<span>al</span>
<?php
echo $list['type'];
}
else {?>
<!-- all' -->
<?php
echo $list['type'];
}
?>
</p>
</div>
<div class="scegli-qty">
<p>scegli la quantità:</p>
<div>
<?php
if ($list['type'] == "kg") {
?>
<input type="number" value="1.0" name="qty" step="0.1" max="99999" min="0.1"> <span>kg</span>
<?php
}
elseif ($list['type'] == "pz") {
?>
<input type="number" value="1" name="qty" max="99999" min="1"> <span>pz</span>
<?php
}
else {
?>
<input type="number" value="1" name="qty" max="99999" min="1"> <span>etto</span>
<?php
}
?>
</div>
</div>
</a>
<!-- <input type="number" value="1" name="qty" step="0.1"> -->
<input type="hidden" name="hidden_id" value="<?php echo $list['id'] ?>">
<input type="hidden" name="hnome" value="<?php echo $list['nome'] ?>">
<input type="hidden" name="hprezzo" value="<?php echo $list['prezzo'] ?>">
<input type="hidden" name="himage" value="<?php echo $list['image'] ?>">
<div class="cart">
<!-- <a href="#">Aggiungi al carrello</a> -->
<input type="submit" name="prodotti-log" value="AGGIUNGI AL CARRELLO">
</div>
</div>
</form>
<?php
}
?>
i im also using ridirections in my header:
if( isset($_SESSION['nome']) && !empty($_SESSION['nome']) )
{
?>
<li class='when-loggedin'><a href="#">ciao
<?php echo $_SESSION['nome']; ?>!</a>
</li>
<li><a href="logout.php">Esci dal account</a></li>
<li><a href="imieiordini.php">I miei ordini</a></li>
<?php
if(isset($_POST['prodotti-log'])){
?>
<?php
$pid=$_POST['hidden_id'];
$hnome=$_POST['hnome'];
$prezzo=$_POST['hprezzo'];
$cid=$_SESSION['cid'];
$pqty=$_POST['qty'];
$_SESSION['PID'] = $pid;
$sel="SELECT * FROM cart WHERE pid='$pid' AND cid='$cid'";
$rs=$conn->query($sel);
if ($rs->num_rows>0) {
while ($row=$rs->fetch_assoc()) {
$fqty=$row['qty']+$pqty;
$cart_id=$row['id'];
$upd="UPDATE cart SET qty='$fqty' WHERE id='$cart_id'";
$conn->query($upd);
}
}
else {
$ins = "INSERT INTO cart SET cid='$cid', qty='$pqty', pid='$pid', prezzo='$prezzo',pnome='$hnome'";
$conn->query($ins);
}
}
// User is logged in, show logout menu here
?>
<?php
}
else
{
// User is not logged in, show login menu here
?>
<li><a href="signup.php">Registrati Subito</a></li>
<li><a href="login.php">Accedi</a></li>
<?php
// if(isset($_POST['prodotti-log']))
// {
// header('Location: login.php');
// }
}
?>