我知道以前有人问过这个问题,但我似乎无法完成这项工作......我有一个带有几个文本框和一个按钮的 PHP 表单。
该按钮将调用不同的函数,具体取决于早期声明的一个变量的值。我意识到单击“继续”按钮后变量丢失了,所以我认为将其分配给$_SESSION
变量可能会有所帮助。不是!
根据要求,这里是该页面的完整代码......目前是这样。请注意,我已经尝试了回复中建议的所有内容,即使它没有像现在这样包含在版本中!!..
<?php
require_once ("Includes/connectDB.php");
session_start();
$pn = $_GET['q'];
$hideval = $pn; //values are as expected here...(the calling form has checks in place to ensure valid number entered
$query = "SELECT * FROM customer WHERE Phone='$pn'";
$result = mysql_query($query);
if (!$result) die ("Database access failed: " . mysql_error());
$rows = mysql_num_rows($result);
$rowinfo = mysql_fetch_array($result);
$cphone = $pn;
if ($rows > 0)
{
$clast = $rowinfo['LastName'];
$cfirst = $rowinfo['FirstName'];
$caddr1 = $rowinfo['Address1'];
$caddr2 = $rowinfo['Address2'];
$cpostal = $rowinfo['Postal'];
$ccity = $rowinfo['City'];
$cprov = $rowinfo['Province'];
$cpay = $rowinfo['PayType'];
$corder = $rowinfo['CustOrder'];
}
else
{
$clast = '';
$cfirst = '';
$caddr1 = '';
$caddr2 = '';
$cpostal = '';
$ccity = '';
$cprov = 'ON';
$cpay = '';
$corder = '';
}
function AddRecord()
{
$clast = $_POST['CustLastName'];
$cfirst = $_POST['CustFirstName'];
$cphone = $_POST['CustPhone'];
$caddr1 = $_POST['CustAddress1'];
$caddr2 = $_POST['CustAddress2'];
$ccity = $_POST['CustCity'];
$cpostal = $_POST['CustPostal'];
$cpay = $_POST['PayType'];
$corder = $_POST['CustOrder'];
if(! get_magic_quotes_gpc() )
{
$cphone = addslashes ($cphone);
$clast = addslashes ($_POST['CustLastName']);
$cfirst = addslashes ($_POST['CustFirstName']);
$caddr1 = addslashes ($_POST['CustAddress1']);
$caddr2 = addslashes ($_POST['CustAddress2']);
$ccity = addcslashes($_POST['CustCity']);
$cpostal = addcslashes($_POST['CustPostal']);
$corder = addcslashes($_POST['CustOrder']);
}
else
{
$clast = ($_POST['CustLastName']);
$cfirst = ($_POST['CustFirstName']);
$caddr1 = ($_POST['CustAddress1']);
$caddr2 = ($_POST['CustAddress2']);
$ccity = ($_POST['CustCity']);
$cpostal = ($_POST['CustPostal']);
$corder = $_POST['CustOrder'];
}
$query = "INSERT INTO customer (Phone, LastName, FirstName, Address1, Address2, City, Province, Postal, PayType, CustOrder) VALUES ('$cphone','$clast','$cfirst', '$caddr1', '$caddr2', '$City', '$Province', '$Postal', '$cpay', '$corder')";
$result = mysql_query($query);
if (!$result) die ("Database access failed: " . mysql_error());
}
function EditRecord()
{
echo ('Im going to try an edit'); die;
$clast = $_POST['CustLastName'];
$cphone = $_POST['CustPhone'];
$cfirst = $_POST['CustFirstName'];
$caddr1 = $_POST['CustAddress1'];
$caddr2 = $_POST['CustAddress2'];
$ccity = $_POST['CustCity'];
$cpostal = $_POST['CustPostal'];
$cpay = $_POST['PayType'];
$corder = $_POST['CustOrder'];
if(! get_magic_quotes_gpc())
{
$clast = addslashes ($_POST['CustLastName']);
$cfirst = addslashes ($_POST['CustFirstName']);
$caddr1 = addslashes ($_POST['CustAddress1']);
$caddr2 = addslashes ($_POST['CustAddress2']);
$ccity = addcslashes($_POST['CustCity']);
$cpostal = addcslashes($_POST['CustPostal']);
$corder = addslashes($_POST['CustOrder']);
}
else
{
$clast = ($_POST['CustLastName']);
$cfirst = ($_POST['CustFirstName']);
$caddr1 = ($_POST['CustAddress1']);
$caddr2 = ($_POST['CustAddress2']);
$ccity = ($_POST['CustCity']);
$cpostal = ($_POST['CustPostal']);
$corder = $_POST['CustOrder'];
}
$query = "UPDATE customer SET Phone='$cphone', LastName='$clast', FirstName='$cfirst', Address1='$caddr1', Address2='$caddr2', City='$ccity', Province='$cprov', Postal='$cpostal', PayType='$cpay', CustOrder='$corder' WHERE Phone='$cphone'";
$result = mysql_query($query);
if (!$result) die ("Database access failed: " . mysql_error());
}
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="styles/beer_delivery.css" />
</head>
<body>
<p></p>
<br><br>
<div id="mainPicture">
<div class="picture">
</div>
</div>
<div class="contentBox">
<div class="innerBox">
<h1>Customer Information</h1>
<div class="contentText">
<p></p>
<div id="main">
<form action="customer_info.php" method="post">
<fieldset>
<legend>Customer</legend>
<label for="CustPhone">Phone:</label>
<input type="text" name="CustPhone" id="CustPhone" tabindex="2" value="<?php echo $cphone; ?>">
<br>
<div id="divider"></div>
<p> </p>
<label for="CustLastName">Last Name:</label>
<input type="text" name="CustLastName" id="CustLastName" tabindex="2" value="<?php echo $clast; ?>">
<label for="CustFirstName">First Name:</label>
<input type="text" name="CustFirstName" id="CustFirstName" tabindex="3" value="<?php echo $cfirst; ?>">
<p> </p>
<label for="CustAddress1">Address 1:</label>
<input type="text" name="CustAddress1" id="CustAddress1" tabindex="4" value="<?php echo $caddr1; ?>">
<label for="CustAddress2">Address2:</label>
<input type="text" name="CustAddress2" id="CustAddress2" tabindex="5" value="<?php echo $caddr2; ?>">
<p> </p>
<label for="CustCity">City:</label>
<input type="text" name="CustCity" id="CustCity" tabindex="6" value="<?php echo $ccity; ?>">
<p> </p>
<label for="CustPostal">PostalCode</label>
<input type="text" name="CustPostal" id="CustPostal" tabindex="7" value="<?php echo $cpostal; ?>">
<label for="CustProvince">Province:</label>
<input type="text" name="CustProvince" id="CustProvince" tabindex="8" value="<?php echo $cprov; ?>">
<p> </p>
<label for="CustOrder">Customer Order:</label>
<textarea name="CustOrder" rows="4" cols="50" tabindex="9"><?php echo $corder; ?></textarea>
<p> </p>
<label for="PayType">Method of Payment:</label>
<select name="PayType" id="PayType" tabindex="10">
<option value="Credit Card" <?php if ($cpay == 'Credit Card') echo ' selected="selected"';?>>Credit Card</option>
<option value="Debit" <?php if ($cpay == 'Debit') echo ' selected="selected"';?>>Debit</option>
<option value="Cheque" <?php if ($cpay == 'Cheque') echo ' selected="selected"';?>>Cheque</option>
<option value="Other"<?php if ($cpay == 'Other') echo ' selected="selected"'; ?>>Other</option>
</select>
<p> </p>
<form id="custform" method="post" action="<?php echo $_SERVER['PHP_SELF']."?".http_build_query($_GET); ?>">
<input type="submit" name="Continue" id="Continue" value="Continue" tabindex="11">
</form>
<?php
//have also used session vars here...but same problem
echo $_GET['q']; //this shows the phone number
if(isset($_POST['Continue']))
{
//ultimately, the functions AddRecord and EditRecord will be called in here ... once I get the variable problem fixed
echo 'after click: '. $_GET['q']; //this shows "after click: "
}
?>
<p> </p>
</fieldset>
</form>
</div>
</div>
</div>
</div>
</body>
</html>