Я пытаюсь включить файл, который генерирует 2 случайных числа, которые необходимо добавить или что мы называем captcha. У меня есть два входа: один, для которого требуется идентификатор сотрудника, дата рождения и ответ на капчу (что я называю простым входом в систему). В то время как другой требует вашего имени, фамилии, даты рождения и капчей (я называю это стандартным логином). Поэтому у меня есть два переключателя для выбора пользователем простого входа или стандартного входа. Таким образом, я сталкиваюсь с этой проблемой, когда вы выбираете логин, тогда вам нужно ответить на капчу (captcha отправляет сеансы для своего ответа), так что происходит правильно, так это то, что captcha в простом логине всегда переопределяется captcha в стандартный вход. То, что я думал, что я буду делать, - это установить условие, в котором, если выбран переключатель (простой вход в систему), то это время, которое будет включено. Но я не знаю, как это сделать.Конфликт при включении файла
Вот капчу: captcha.php
<?php
session_start();
$n1=rand(1,6); //Generate First number between 1 and 6
$n2=rand(5,9); //Generate Second number between 5 and 9
$answer=$n1+$n2;
$math = "What is ".$n1." + ".$n2." ? ";
$_SESSION['vercode'] = $answer;
print $math;
?>
Тогда вот код для моего интерфейса:
index.php
<SCRIPT TYPE="text/javascript">
function toggleTables(which)
{
if(which == "0") {
document.getElementById('standard').style.display = "table";
document.getElementById('customize').style.display = "none";
}
if(which == "1") {
document.getElementById('customize').style.display = "table";
document.getElementById('standard').style.display = "none";
}
}
</SCRIPT>
</head>
<body style="background: url(../images/background.jpg) no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;" >
<a href="http://i-refer.elitebpocareers.com" align="center"><?php include('../include/logoheader.php'); ?></a>
<div class="row">
<div class="twelve columns">
<hr />
</div>
</div>
<div class="row">
<div class="two columns">
</div>
<div class="eight columns">
<div class="content">
<?php include('../include/retain-empid.php'); ?>
<br>
<input name="radio" type="radio" id="customize_1" onClick="toggleTables('0')" value="radio" /><font color="white">Standard Login</font>
<input name="radio" type="radio" id="customize_0" onClick="toggleTables('1')" value="radio" checked="checked"/><font color="white">Easy Login</font>
<form name="loginform" action="login_exec.php" method="post" >
<center><?php include('../function/login_errmsg.php'); ?></center>
<table width="100%" class="imagetable" cellpadding="0" cellspacing="0" id="customize">
<tr>
<th colspan="4">
Easy Log-in For Registered Convergys Employees
</th>
</tr>
<tr>
<td align="right">
<label>Employee Number</label>
</td>
<td>
<input type="text" placeholder="Employee Number" name="txt_EmpID" autoComplete="off" value=<?php echo $value; ?> >
</td>
<td align="right">
<label>Birthday</label>
</td>
<td>
<input type="date" class="" placeholder="Birthday" id="txt_BDate" name="txt_BDate" autoComplete="off" maxlength = "10"
style ="width:170px;"/>
</td>
</tr>
<tr>
<td align="right">
<label class="labels" align="center">
<strong>
</strong>
</label>
</td>
<td>
<?php
include ('../include/mathcaptcha.php');
?>
</td>
<td>
<input name="captcha" type="text" placeholder="Answer to math question">
</td>
<td>
</td>
<td>
<input type="submit" id="submit" name="btn_refer" class="btn" value="Submit"
style=" width: 170px; height: 30px; font-size: 11pt; ">
</td>
</tr>
</table>
</form>
<form action="otherlogin_exec.php" method="post">
<table width="100%" class="imagetable" cellpadding="0" cellspacing="0" id="standard" style="display: none">
<tr>
<th colspan="4">
Standard Log-in For All Registered Users
</th>
</tr>
<tr>
<td align = "right">
<label>First name:</label>
</td>
<td>
<input type="text" placeholder="First Name" name="txtFirstName" autoComplete="off" >
</td>
<td>
<label>Last name:</label>
</td>
<td>
<input type="text" placeholder="Last Name" name="txtLastName" autoComplete="off" >
</td>
</tr>
<tr>
<td>
<label>Birthday:</label>
</td>
<td>
<input type="date" class="" placeholder="Birthday" id="txt_BDate"
name="txtPassword" autoComplete="off" maxlength = "10" style = "width:170px;"/>
</td>
<td>
<label class="labels" align="center">
<strong>
</strong>
</label>
</td>
<td>
<?php
include ('../include/mathcaptcha.php');
?>
</td>
<td>
<input name="captcha" type="text" placeholder="Answer to math question">
</td>
</tr>
<tr>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
<input type="submit" id="submit" name="btn_refer" class="btn" value="Submit"
style=" width: 100%; height: 30px; font-size: 11pt; ">
</td>
</tr>
</table>
</form>
</div>
</div>
Вы генерируете два разных набора случайных чисел. Почему бы не включить файл captcha один раз, затем повторить значения, которые он генерирует там, где это необходимо? Вы можете включить в верхнюю часть файла и добавить комментарий, чтобы сделать его более понятным. Также не эхо (print; output) в том файле, в который вы включаете, просто установите значения. – chris85
Я попытался включить его один раз, но это разрушит дизайн, поэтому я думаю о способе установить условие, в котором оно будет включено после того, как будет выбран галочкой определенный переключатель для этого входа. – user3235016
вы можете использовать ajax для отправки запроса на captcha.php в скрипте index.php и в ответ от captcha.php вы можете получить код captcha. нет необходимости включать напрямую. – Choxx