0

送信時に入力用の3つのフィールドを持つecrtst.phpがあります-submit-ecr.php。データを mysql テーブルに書き込み、空白のフィールドがないかどうかを検証する必要があります。すべての値を送信すると正常に動作し、送信が成功すると ecrtst.php に戻りますが、フィールドを空白のままにするとエラーを表示できません。

javascript または php でエラーを表示してから前のページに戻ることができるかどうかお知らせください。

ecrtst.php ファイル:

<?php
$dbservertype='mysql';
$servername='localhost';
$dbusername='hitec';
$dbpassword='!@#';
$dbname='hitec';

connecttodb($servername,$dbname,$dbusername,$dbpassword);
function connecttodb($servername,$dbname,$dbuser,$dbpassword)
{
global $link;
$link=mysql_connect ("$servername","$dbuser","$dbpassword");
if(!$link){die("Could not connect to MySQL");}
mysql_select_db("$dbname",$link) or die ("could not open db".mysql_error());
}
//////// End of connecting to database ////////
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head id="Head1" runat="server">
<title>ECR</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
    $(function () {
    $("form:not(.filter) :input:visible:enabled:first").focus();
    });
</script>

</head>

<body document.f1.ecrno.focus();">
<table width="100%"  border="0" cellpadding="0" cellspacing="0" bgcolor="#026465">
  <tr>
<td><div align="center"><center class="style6">ECR</center>
<center>

<?php
$rowec=mysql_query("SELECT Ecrno FROM ECRHDR_draft WHERE usr='$user'");
$rowec2=mysql_fetch_assoc($rowec);
$rowec3=$rowec2['Ecrno'];
?>
<form name='f1' id='f1'>
<table width="600" border="0" cellspacing="1" cellpadding="0">
  <tr>
    <td width="60"><span class='style5'>ECR No.</span></td>
    <td width="99"><input name="ecrno" type="text" size="10" maxlength="10" value="<?=$rowec3;?>" onchange="showecr(this.value);"></td>
<?php
$rowarea=mysql_query("SELECT Area FROM ACMAST");
$rowarea2=mysql_fetch_assoc($rowarea);
$rowarea3=$rowarea2['Area'];
?>
    <td width="180"><select name='area' onchange="showarea(this.value);">
    <option value='<?=$rowarea3;?>'> <?=$rowarea3;?> <option>
    <option value='Rajajinagar'>Rajajinagar</option>
    <option value='Jayanagar'>Jayanagar</option>
    <option value='Chennai'>Chennai</option>
    </select></td>
<?php $script_dt = date('d/m/Y'); ?>
<td width="72"><span class='style5'>ECR Date:</span></td>
<td width="189"><input name="ecrdate" type="text" size="10" maxlength="10" value="<?=$script_dt;?>" onchange="showecrdate(this.value);"> <span class='style5'>(d/m/yyyy)</span>        </td>
  </tr>
</table>
<a href="submit-ecr.php" target="_parent" accesskey="s" ><input name="SAVE" type="button" value="SAVE ECR !">
</form>
</center>
</body>
</html>

サブミット-ecr.php ファイル:

<?php
ob_start();

$con = mysql_connect("localhost","hitec","@#");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
mysql_select_db("hitec", $con);

 //-----Checking for blank fields in ECRHDR-draft file. ------------------------//

 $rowexist=mysql_query("select Ecrno from ECRHDR_draft WHERE usr='$user'");
 $data=mysql_fetch_array($rowexist);

  if ($data[Ecrno] <= 0 || $data[Ecrno]='')
  {
  echo "<span class='sty1'><center>DONOT LEAVE EMPTY FIELDS for ECR No.</CENTER><br>    <br></span>";
  echo " <span class='sty1'><center><a href=\"javascript:PreviousPage();\">CLICK HERE TO GO BACK !!!!</a></CENTER></span>";
  }

$URL="http://www.samplesite.info/svga//ecrtst.php";

header('WWW-Authenticate: Negotiate');
header('WWW-Authenticate: NTLM', false);
header ('Location:'.$URL);

mysql_close($con);
ob_flush();?>
4

1 に答える 1

1

あなたがしていることは少し風変わりです。エラーをエコーする代わりに、ファイルの先頭で。を使用してPHPセッションを開始しsession_start()、エラーメッセージを。のようにセッションに保存します$_SESSION['dberror'] = 'You didn\'t fill out all the fields.';

リダイレクトした後、他のページでエラーを確認してくださいsession_start(); if (isset($_SESSION['dberror'])) { echo $_SESSION['dberror']; unset($_SESSION['dberror']); }

于 2012-06-26T12:31:12.367 に答える