webForumDet fria alternativet

Var anropas min funktion?

PHP

2 svar · 332 visningar · startad av Helmertz

Medlem sedan maj 2005353 inlägg
Frågan#1

Hej!
Jag har ett problem med placeringen av en isset($_POST['submit']) som känner av att ett formulär skickats vidare.

Formuläret ligger i en fil som inkluderas i andra filer och har action="'.$_SERVER['PHP_SELF'].'". För tillfället ligger även isset($_POST['submit']) i denna fil men den känner inte av knapptrycket alls. Detta vet jag eftersom jag testat, direkt under isset($_POST['submit']) att köra echo "x";die;, efter att jag först av allt märkt att SQL-funktionerna som ska utföras vid knapptrycket inte reagerat alls med databasen.

Frågan är om jag ska placera isset($_POST['submit']) i någon annan fil? Det vore mest praktiskt att ha det i denna fil som ändå inkluderas, annars måste man upprepa samma information på flera olika sidor.

Om detta inte går att förstå, skriv det så bifogar jag all kod. Vill bara utesluta simpla fel först :bire

Medlem sedan juli 20023 617 inlägg
#2

Låter som det är rätt tänkt så du blir nog tvungen att skicka lite kod... :)

Medlem sedan maj 2005353 inlägg
#3

Lite kod då:

header.php

<?php
session_start();
include "db.php";
include "functions.php";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sv" lang="sv">
<head>
<title>
<?php
if($title){
	echo $title;
}else{
	echo "Medyaonline";
}
?>
</title>
<link rel="stylesheet" type="text/css" href="medya.css" media="screen" />
<script type="text/javascript" src="script.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta name="author" content="N4L" />
<meta name="copyright" content="&copy; 2007 N4L" />
</head>
<body>
<div id="mainContainer">

<?php
# Prints menu with active menu item marked with the id 'current'
$page = $_SERVER['PHP_SELF'];
if($page == '/Webb/' || $page == '/Webb/index.php'){
	$pageIsIndex = ' id="current"';
	$pageIsInfo = "";
	$pageIsOrder = "";
}elseif($page == '/Webb/info.php'){
	$pageIsIndex = "";
	$pageIsInfo = ' id="current"';
	$pageIsOrder = "";
}elseif($page == '/Webb/order.php' && isset($_SESSION['userId'])){
	$pageIsIndex = "";
	$pageIsInfo = "";
	$pageIsOrder = ' id="current"';
}

if(pizzeriaIsClosed()){
	$logo = '
	<img src="nightLogo.gif" width="241" height="117" alt="Medya Pizzeria" id="nightLogo" />';
}else{
	$logo = '
	<img src="dayLogo.gif" width="223" height="127" alt="Medya Pizzeria" id="dayLogo" />';
}
echo '
<!-- Header -->
<div id="header">
'.$logo.'
<ul>
<li'.$pageIsIndex.'><a href="index.php">Pizzameny</a></li>
<li'.$pageIsInfo.'><a href="info.php">Hur fungerar tjänsten?</a></li>';
if(isset($_SESSION['userId'])){
	echo '
	<li'.$pageIsOrder.'><a href="order.php">Din beställning</a></li>';
}
echo '
</ul>
</div>';

if($_SERVER['PHP_SELF'] != '/Webb/order.php'){
	# Include the shopping cart on every page but the order.
	include "cart.php";
}
?>

<!-- Dish menu -->
<div id="dishContainer">
<div id="dishContainerHeader">
</div>
<div id="dishContent">
<a href="adminIndex.php">adminadmin</a>

cart.php

<!-- Shopping cart -->
<div id="cartContainer">
<?php
#add sauce

if(isset($_POST['saveMod'])){
	# Save the +/- ingredients
	$minusIng = mysql_real_escape_string($_POST['minusIng']);
	$plusIng = mysql_real_escape_string($_POST['plusIng']);
	$cartDishId = mysql_real_escape_string($_POST['cartDishId']);
	if($plusIng == '0' && $minusIng == '0'){
		header("Location: ".$_SERVER['PHP_SELF']."");
	}else{
		if(is_numeric($_POST['plusIng'])){
			$plusExistsSql = "SELECT * FROM mp_modified WHERE cartDishId = '".$cartDishId."' AND modification = '1' LIMIT 1";
			if(mysql_query($plusExistsSql)){
				$plusSql = "UPDATE mp_modified SET ingId = '".$plusIng."' WHERE cartDishId = '".$cartDishId."'";
				$plusQuery = mysql_query($plusSql);
			}else{
				$plusSql = "INSERT INTO mp_modified (modification, ingId, cartDishId) VALUES ('1', '".$plusIng."', '".$cartDishId."')";
				$plusQuery = mysql_query($plusSql);
			}
		}
		if(is_numeric($_POST['minusIng'])){
			$minusExistsSql = "SELECT * FROM mp_modified WHERE cartDishId = '".$cartDishId."' AND modification = '2' LIMIT 1";
			if(mysql_query($minusExistsSql)){
				$minusSql = "UPDATE mp_modified SET ingId = '".$minusIng."' WHERE cartDishId = '".$cartDishId."'";
				$minusQuery = mysql_query($minusSql);
			}else{
				$minusSql = "INSERT INTO mp_modified (modification, ingId, cartDishId) VALUES ('2', '".$minusIng."', '".$cartDishId."')";
				$minusQuery = mysql_query($minusSql);
			}
		}
		header("Location: ".$_SERVER['PHP_SELF']."");
	}
}	 
 
function printMod($cartDishId){
	$modSql = "SELECT * FROM mp_cart WHERE cartDishId = '".$cartDishId."' LIMIT 1";
	$modQuery = mysql_query($modSql);
	while($mod = mysql_fetch_array($modQuery)){
		$dishId = $mod['dishId'];

		$plusIngSql = "SELECT * FROM mp_ing INNER JOIN mp_dishing ON mp_ing.ingId = mp_dishing.ingId WHERE mp_dishing.dishId != '".$dishId."' ORDER BY mp_ing.name ASC";
		$plusIngQuery = mysql_query($plusIngSql);
		echo'
		<form action="'.$_SERVER['PHP_SELF'].'" method="post">
		<input type="hidden" value="'.$cartDishId.'" name="cartDishId" />
		<p><label for="plusIng">Lägg till ingrediens</label>
		<select name="plusIng" id="plusIng">
		<option value="0">Ingen ändring</option>';
		while($plusIng = mysql_fetch_array($plusIngQuery)){
			echo'
			<option value="'.$plusIng['ingId'].'">'.ucwords($plusIng['name']).'</option>';
		}
		echo'
		</select>
		</p>';

		$minusIngSql = "SELECT * FROM mp_ing INNER JOIN mp_dishing ON mp_ing.ingId = mp_dishing.ingId WHERE mp_dishing.dishId = '".$dishId."' ORDER BY mp_ing.name ASC";
		$minusIngQuery = mysql_query($minusIngSql);
		echo'
		<p><label for="minusIng">Ta bort ingrediens</label>
		<select name="minusIng" id="plusIng">
		<option value="0">Ingen ändring</option>';
		while($minusIng = mysql_fetch_array($minusIngQuery)){
			echo'
			<option value="'.$minusIng['ingId'].'">'.$minusIng['name'].'</option>';
		}
		echo'
		</select>
		</p>

		<p><input type="submit" value="Spara ändringar" name="saveMod" /></p>
		</form>
		';
	}
}

$cartSql = "SELECT * FROM mp_cart INNER JOIN mp_dish ON mp_cart.dishId = mp_dish.dishId WHERE mp_cart.cookieId = '".getCartId()."' ORDER BY mp_dish.name ASC";
$cartQuery = mysql_query($cartSql);
if (mysql_num_rows($cartQuery) == 0){
	# If no dishes are found with the specific cookieId
	echo '<h2 id="cartTop">Din beställning</h2>
	<div id="cartContent">
	<p>Din order innehåller inga maträtter.</p>
	<p>Använd menyn till vänster för att lägga till en maträtt. Klicka på bilden av maträtten för att lägga till den. Mer information om hur tjänsten fungerar finns att läsa på <a href="info.php" title="Hjälpavsnitt och genomgång av hur en beställning kan se ut">informationssidan</a>.</p>
	</div>
	<div id="cartFooter"></div>';
}else{		
	echo '<h2 id="cartTop">Din beställning</h2>
	<div id="cartContent">
	<ul>';
	while($row = mysql_fetch_array($cartQuery)){
		if($row['size'] == '1' && $row['dishType'] == '1'){
			$size = "barnpizza";
		}elseif($row['size'] == '2' && $row['dishType'] == '1'){
			$size = "standard";
		}elseif($row['size'] == '3' && $row['dishType'] == '1'){
			$size = "familjepizza";
		}
		$price = getPrice($row['dishId'], $row['size']);
		$totalPrice += $price;
		if(isset($_GET['sortera']) && isset($_GET['ordning'])){
			$location = "?sortera=".mysql_real_escape_string($_GET['sortera'])."&ordning=".mysql_real_escape_string($_GET['ordning'])."&modifiera=".$row['cartDishId'];
		}else{
			$location = "?modifiera=".$row['cartDishId'];
		}
		$modifiedSql = "SELECT * FROM mp_modified WHERE cartDishId = '".$row['cartDishId']."'";
		$modifiedQuery = mysql_query($modifiedSql);
		while($mod = mysql_fetch_array($modifiedQuery)){
			if($mod['modification'] == '1'){
				$modLabel .= "+";
			}
			if($mod['modification'] == '2'){
				$modLabel .= "-";
			}
		}
		echo'
		<li class="cartItem"><strong>'.ucwords($row["name"]).' '.$modLabel.'</strong> <span class="cartDishSize">'.$size.'</span> <span class="cartDishPrice">'.$price.'</span> <a href="rem.php?dishId='.$row["dishId"].'&size='.$row["size"].'" class="deleteDish">[X]</a> <a href="'.$location.'">Modda</a></li>';
		if(is_numeric(mysql_real_escape_string($_GET['modifiera'])) && $row['cartDishId'] == mysql_real_escape_string($_GET['modifiera'])){
			printMod($row['cartDishId']); 
		}
	}
	if (mysql_num_rows($cartQuery) > 0){
		echo '
		</ul>
		<hr />
		<p><strong>Totalt</strong> '.$totalPrice.'kr</p>
		<p><a href="rem.php?dishId=0&size=0" class="deleteDish">[X]</a> Ta bort alla maträtter ur din order</p>
		<p><a href="login.php">Godkänn order</a></p>
		</div>
		<div id="cartFooter"></div>';
	}
}
?>

</div>

header.php infogas högst upp i index.php

253 ms totalt · 4 externa anrop · v20260731065814-full.868a69e5
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)