Poslao: 02 Jul 2015 00:56
|
offline
- gfactory
- Super građanin
- Pridružio: 26 Okt 2007
- Poruke: 1064
- Gde živiš: u Apache
|
session start se podrazumeva a već koristim hidden za tu prokletu TOTAL al nju dobijem praznu nakon submita, a sve ostale vrednosti varijabli koje učestvuju u kalkulaciji dobijem pojedinačno.
A meni treba njihov total, koji inače dobijem kad submitujem na istoj strani ...
NA prvoj strani imam
if(isset($_POST['go'])){
$porez = 0.05;
//$porez = $_POST['porez'];
//$total3 = $_POST['total3'];
$total = $cena_polise * $stepen;
$total2 = $total * $porez;
$_SESSION['total3'] = $_POST['total3'];
$_SESSION['total3'] = $total + $total2;
/*echo "The total value is: ".$total;
echo "The total value is: ".$total2;*/
echo '<br/>';
echo "Ukupna cena polise: ".$_SESSION['total3'];
//$total3 = $_SESSION['total3'];
echo '<br/><br/><br/>';
}
tu mi je i HIDDEN
<input type="hidden" name="total3" value="<?php echo $_SESSION['total3']; ?>" />
Na strani posle submit imam na 2 načina
if(isset($_POST['total3'])){
$_SESSION['total3'] = $_POST['total3'];
echo 'TOTAL3:'.$_SESSION['total3'].'<br/><br/>';
}
echo 'TOTAL3:'.$_SESSION['total3'].'<br/><br/>';
//echo $_SEESION['stepen'];
//echo $_SESSION['items'];
//unset($_SESSION['total3']);
if(!empty($_SESSION['total3']))
{
echo 'TOTAL TEST:'. $_SESSION['total3'];
}
else
{
echo "Session not set yet.";
}
Kaže da sesija nije podešena a imam je na prvoj strani kao $_SESSION['total3'] = $total + $total2;
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
|
Poslao: 02 Jul 2015 14:45
|
offline
- gfactory
- Super građanin
- Pridružio: 26 Okt 2007
- Poruke: 1064
- Gde živiš: u Apache
|
@ShadowOTN ,
kad nađeš vremena i ako ti nije veliko cimanje pogledaj. Ovde vučem podatke za dropdown iz baze al nije to bitno, cela poenta je da TOTAL bude izračunat pre submita . Pomoćno rešenje sam već napravio sa drugim SUBMIT dugmetom , mada bi trebalo da bude samo jedan SUBMIT.
Sad na jedan submit dobijem vrednost TOTALA (Ukupna cena polise ) a na drugi SUBMIT šaljem na drugu stranu, tako da u ovom slučaju imam sve.
Šta se računa zaparavo? primer
$a * $b i $c * $d TOTAL je zbir ($a * $b) + ($c * $d)
Evo koda i slika
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>1</title>
</head>
<body>
<form method="POST" action="">
GODISTE:<select name="godiste_cena" >
<option>GODISTE:</option>
<?php
$con = mysqli_connect("localhost","root","","input");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$_SESSION['godiste_cena'] =$_POST['godiste_cena'];
$result = mysqli_query($con, "SELECT * FROM godiste");
while($row = mysqli_fetch_assoc($result)){ //prefer using assoc that array
//echo "<select onchange='document.getElementById('stepen').submit();' size='' name='ceg'>";
echo "<option value='" . $row['godiste_cena'] . "'>" . $row['godiste'] . "</option>";
//echo "</select>";
echo '<br/><br/><br/>';
}
?>
</select>
<br/><br/><br/>
PREMIJSKI STEPEN:<select name="stepen">
<option>PREMIJSKI STEPEN:</option>
<?php
$_SESSION['stepen'] =$_POST['stepen'];
$result = mysqli_query($con, "SELECT * FROM stepen");
while($row = mysqli_fetch_assoc($result)){ //prefer using assoc that array
//echo "<select onchange='document.getElementById('stepen').submit();' size='' name='ceg'>";
echo "PREMIJSKI STEPEN:"."<option value='" . $row['stepen'] . "'>" . $row['id'] . "</option>";
//echo "</select>";
echo '<br/><br/><br/>';
}
?>
</select>
<br/><br/><br/>
CENA POLISE<select name="cena_polise" >
<option>CENA POLISE</option>
<?php
$_SESSION['cena_polise'] =$_POST['cena_polise'];
$result2 = mysqli_query($con, "SELECT * FROM snaga");
while($row = mysqli_fetch_assoc($result2)){ //prefer using assoc that array
//echo "<select onchange='document.getElementById('stepen').submit();' size='' name='ceg'>";
echo "<option value='" . $row['cena_polise'] . "'>" . $row['snaga_motora'] . "</option>";
//echo "</select>";
echo '<br/><br/><br/>';
}
?>
</select>
<br/><br/>
<input type="submit" name="go" value="IZRAČUNAJ"/>
</form>
<br/><br/>
<?php
$cena_polise = '';
$stepen ='';
$porez = 0.05;
$total = '';
$total3 = '';
/*$cena_polise = $_POST['cena_polise'];
$stepen = $_POST['stepen'];*/
//$_SESSION['total3'] = $_POST['total3'];
//$_SESSION['total3'] =$_POST['total3'];
if(isset($_POST['go'])){
$cena_polise = $_POST['cena_polise'];
$stepen = $_POST['stepen'];
$porez = 0.05;
//$porez = $_POST['porez'];
//$total3 = $_POST['total3'];
$total = $cena_polise * $stepen;
$total2 = $total * $porez;
//$_SESSION['total3'] = $_POST['total3'];
$_SESSION['total3'] = $total + $total2;
/*echo "The total value is: ".$total;
echo "The total value is: ".$total2;*/
echo '<br/>';
echo "Ukupna cena polise: ".$_SESSION['total3'];
//$total3 = $_SESSION['total3'];
echo '<br/><br/><br/>';
}
echo $_SESSION['stepen'];
echo '<br/>';
echo $_SESSION['cena_polise'];
echo '<br/>';
echo $_SESSION['godiste_cena'];
echo '<br/>';
//unset($_SESSION['total3']);
?>
<input type="hidden" name="total3" value="<?php echo $_SESSION['total3']; ?>" />
<br/><br/>
</form>
<br/><br/>
<form method="GET" action="data.php">
<input type="submit" name="Submit" value="ŠTAMPAJ!">
</p>
</form>
</body>
</html>
Da li bi mogao u jedan SELECT OPTION da se ubaci nešto tipa ONCHANGE , koji bi bio triger za računanje , umesto submita?
|
|
|
|
Poslao: 02 Jul 2015 19:12
|
offline
- ShadowOTN
- Novi MyCity građanin
- Pridružio: 15 Jan 2015
- Poruke: 14
|
gfactory ::a već koristim hidden za tu prokletu TOTAL al nju dobijem praznu nakon submita
Taj hidden elemenat "visi u vazduhu", ne pripada ni jednoj od te dve forme, imaš višak </form>.
Npr. nešto na brzinu, pomoću JavaScript-a:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript">
window.addEventListener('load', function() {
//(function() {
function getPrice() {
var porez = 0.05;
//var form = document.getElementById('polisa');
var godiste_cena = parseFloat(form['godiste_cena'].value);
var stepen = parseFloat(form['stepen'].value);
var cena_polise = parseFloat(form['cena_polise'].value);
var total = cena_polise * stepen;
var total2 = total * porez;
var price = total + total2;
return price;
}
function showPrice(price) {
document.getElementById('price').innerHTML = 'Ukupna cena polise:' + price;
document.getElementById('total').value = price;
document.getElementById('submit').style.display = '';
}
var form = document.getElementById('polisa');
var selectLists = form.getElementsByTagName('select');
for (var i = 0, len = selectLists.length; i < len; i++) {
selectLists[i].addEventListener('change', function() {
for (var i = 0; i < len; i++) {
if(selectLists[i].value == '') {
return;
}
}
var price = getPrice();
showPrice(price);
//form.submit();
});
};
//})();
});
</script>
</head>
<body>
<form id="polisa" method="POST" action="data.php">
GODISTE:
<select name="godiste_cena" >
<option value="">GODISTE:</option>
<option value="1245">1995</option>
<option value="1285">1996</option>
<option value="1295">1997</option>
</select>
<br />
PREMIJSKI STEPEN:
<select name="stepen">
<option value="">PREMIJSKI STEPEN:</option>
<option value="0.8">1</option>
<option value="0.85">2</option>
<option value="0.9">3</option>
</select>
<br />
CENA POLISE
<select name="cena_polise" >
<option value="">CENA POLISE</option>
<option value="1000">1000</option>
<option value="2000">2000</option>
<option value="3000">3000</option>
</select>
<div id="price"></div>
<input id="total" name="total" type="hidden" />
<input id="submit" style="display:none;" type="submit" value="Naruči" />
</form>
</body>
</html>
Može ovo i bolje, dakle tek kada se izaberu sve vrednosti iz select lista, biće prikazana ukupna cena i submit dugme, i ukupna vrednost će biti upisana u input hidden elemenat sa imenom total, naravno na server strani vrši proveru jer je ova lako imenljivo. Ukoliko želiš da se po izboru svih vrednosti odmah izvrši submit forme skini komentar sa linije form.submit();. Malo je izmenjen html kod.
Pozdrav.
|
|
|
|
Poslao: 02 Jul 2015 23:58
|
offline
- gfactory
- Super građanin
- Pridružio: 26 Okt 2007
- Poruke: 1064
- Gde živiš: u Apache
|
@ShadowOTN,
probao sam ovo tvoje , dobro si napravio, samo ću malo da ga modifikujem sa mysqli i to je to.
Puno hvala na izdvojenom vremenu, tu smo Pozdrav.
|
|
|
|