PHP piše pa ne piše u bazu

Nisam baš “na ti” sa PHP-om pa mi se na startu javljaju problemi koji su većini vas sigurno banalni. Neke sam uspio riješiti, ali ovaj jedan je baš žilav, što uopće ne znači da nije banalan. :blush:

Ukratko: trebam upisati u bazu i to uspijeva prvi put, ali drugi prolazak kroz kod ne dovodi do drugog upisa. Iako bi sve trebalo biti isto, negdje se nešto gubi, a ja ne mogu dokučiti šta. Što je najgore, isprva mi je sve radilo kako treba. :slight_smile: A onda sam zaključio da struktura nije ok. Dva puta sam usmjeravao na index.php pa zaključio da nije dobro tako (da index.php preuzima sa dvije strane $_GET podatke) nego treba uvesti malo Javascripta (iako sam možda i tu pogriješio). I nakon tog petljanja se nešto poremetilo…

order_number.php

		<form action="index.php">
			<input type="hidden" id="id" value="<?php echo $_GET['id'] ?>">
			<input type="hidden" id="ime" value="<?php echo $_GET['ime'] ?>">
			<input type="hidden" id="prezime" value="<?php echo $_GET['prezime'] ?>">
			<input type="text" id="brojnarudzbe" placeholder="broj narudžbe"><br><br>

			<button onclick="storagefunction()" type="submit">Započni narudžbu</button>
		</form>

Usput, ovdje me zanima da li je dozvoljeno za jednu formu definisati i action i onclick za button unutar nje? Onclick poziva Javascript storagefunction() koja čita podatke iz localStorage i raspoređuje ih u value elemenata gornje forme:

function storagefunction() {

  var id = document.getElementById("id").value;
  var ime = document.getElementById("ime").value;
  var prezime = document.getElementById("prezime").value;
  var brojnarudzbe = document.getElementById("brojnarudzbe").value;

  localStorage.setItem("id", id);
  localStorage.setItem("ime", ime);
  localStorage.setItem("prezime", prezime);
  localStorage.setItem("brojnarudzbe", brojnarudzbe);
}

index.php:

<?php  	
	$db = mysqli_connect('localhost','root','','beni') or die("Connection error");
	$sql = "SELECT * FROM narudzbaArtikli";
	$query = mysqli_query($db,$sql);
	$result = mysqli_fetch_all($query,MYSQLI_ASSOC); ?>

<form action="save_item_order.php" method="post">
	<input id="1" type="hidden" name="id">
	<input id="2" type="hidden" name="broj">
	<input type="text" name="duzina" placeholder="dužina">
	<input type="text" name="sirina" placeholder="širina">
	<input type="text" name="napomena" placeholder="napomena">
	<button type="submit">Save</button>
</form>

<script>
     document.getElementById('1').value = localStorage.getItem('id');
     document.getElementById('2').value = localStorage.getItem('brojnarudzbe');
</script>

<?php 
	foreach ($result as $row) {
		echo $row['idKupac']." ".$row['duzina']."x".$row['sirina'].", ".$row['kvadratura']." kvadrata, ".$row['cijena']." KM"; 
	}
	mysqli_close($db);
 ?>

save_item_order.php
<?php
$db = mysqli_connect(‘localhost’,‘root’,’’,‘beni’) or die(“Connection error”);
$id = $_POST[‘id’];
$broj = $_POST[‘broj’];
$duzina = $_POST[‘duzina’];
$sirina = $_POST[‘sirina’];
$napomena = $_POST[‘napomena’];
$kvadratura = $duzina*$sirina/10000;
$cijena = $kvadratura * 0.5;

echo '<script type="text/javascript">alert("Poruka");</script>';
var_dump($id);

$sql = "INSERT INTO narudzbaArtikli VALUES ('$id','$broj','$duzina','$sirina','$kvadratura','$cijena','$napomena')";
$query = mysqli_query($db,$sql);
header('Location: index.php');
?>

I ovdje kad treba da piše u bazu to uradi samo prvi put. Takođe, nejasno mi je i zašto prvi put preskače ovaj echo i var_dump (to je taj put kad piše u bazu), a vidi ih u drugom navratu (kad ne piše u bazu)?

I izvinjavam se zbog ovog neskladnog formatiranja koda.