最後のストレッチが難しくなっているようです!
したがって、ifステートメントがあり、それらのステートメント内で、それらがtrueの場合にコードを実行する必要があります。問題は、コードが実行されていないにもかかわらず実行されていることです。
Spproved が 1 に設定されていても実行されるコード
if($user_data['permissions'] >= 1)
{
// If users permission is 1 or 2 they get a field for inputting the index # and a button to change the approve field from 0 to 1 may need to make a new field to record who approved it....
//Determine if the order is already approved. If not approved show index field and allow user to approve it with index number
if($data2[0]['Approved'] == 1)
{
echo " <font color=\"green\"> Approved";
}
else if($data2[0]['Approved'] == 0)
{
echo " Not Approved. Supply an index number and click approve to authorize this order to be completed.";
if (empty ($_GET) === false)
{
$required_fields = array('IndexNum');
foreach ($_GET as $key=>$value)
{
if (empty($value) && in_array($key, $required_fields) === true)
{
$errors[] = 'Fields marked with an asterisk are required';
break 1;
}
}
if (isset($_GET['success']) === true && empty($_GET['success']) === true)
{
echo 'Index has been updated and Order is now set to Approved';
}
else
{
if (empty($errors) === true)
{
$indexnum=$_GET['IndexNum'];
$approvedby=$user_data['lname'];
$vendorid1= $_GET['hidden1'];
update_approved($approvedby, $indexnum, $vendorid1);
header('Location: index.php');
exit();
}
else if(empty($errors) === false)
{
echo output_errors($errors);
}
}
}
?>
<form name="approveform" method="GET" action="">
<input type="hidden" name="hidden1" value="<?php echo $id;?>">"
Index Number*: <input type="text" name="IndexNum">
<input type="submit" value="Approve" action="">
</form>
<?php }
}
if($user_data['permissions'] == 2)
{
// If user is permission 2 they can have a button to say shipped... Do I need to record who shipped it? for now nah. Would be nice to input a data of arrival though. I will think on it .... pretty lazy
if($data2[0]['Approved'] == 1)
{
echo "<br/>";
echo "Confirm order has been ordered";
if(isset($_GET['Ordered']))
{
$vendorid1=$_GET['hidden1'];
echo $vendorid1;
//update_shipped($vendorid1);
//header('Location: index.php');
//exit();
}
?>
<form name="approveform" method="GET" action="">
<input type="hidden" name="hidden1" value="<?php echo $id;?>">
<input type="submit" name="Ordered" value="Ordered" action="">
</form>
<?php
}
}
IT は承認済みをフォームに緑色で表示し、[注文済み] ボタンが正常に表示されます。送信ボタンをクリックすると、設定されているコードの代わりに else if($data[0]['Approved'] == 0) のコードがアクティブになります。Approved が 1 に設定されているため、そのコードが実行されている理由がわかりません.....
の値print_r($data2)
は
Array ( [0] => Array ( [VendorName] => Newegg [DateRequested] => 2013-09-25
[DateNeeded] => 0000-00-00 [Shipping] => Standard [VendorNumber] => 123123
[VendorFax] => NA [VendorAddress] => 1 ave new [VendorCity] => socorro
[VendorState] => nm [VendorZip] => 87114 [EquipmentConsumable] => Consumable
[GasType] => propane [GasLocation] => United States [UNMTag] => 0
[EquipmentLocation] => [index] => 414141 [totalcost] => 129.88
[Approved] => 1 [Shipped] => 0 ) )