[php-src] Issue #12810: There seems to be a bug in 8.3.0 in regards to if conditional statments.
| From: | GrimmReaper1O1 | Date: | Tue, 28 Nov 2023 12:20:44 +0000 |
| Subject: | [php-src] Issue #12810: There seems to be a bug in 8.3.0 in regards to if conditional statments. | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-245915@lists.php.net to get a copy of this message | ||
Issue: https://github.com/php/php-src/issues/12810
Author: GrimmReaper1O1
### Description
The following code:
<?php
$timestamp = date("Y/m/d h:i:sa") ?? '';
$createAdmin = $_POST['create_administrative_account'] ?? '';
$getRoot = $_POST['allow_root_privilages'] ?? '';
$allowAlter = $_POST['set_allow_alter_evidence'] ?? '';
$allowDelete = $_POST['set_allow_delete_evidence'] ?? '';
$allowDeleteAll = $_POST['allow_delete_all_evidence_from_email'] ?? '';
$alterAccount = $_POST['alter_administrative_account'] ?? '';
$denyRoot = $_POST['deny_root_privilages'] ?? '';
$denyAlter = $_POST['set_deny_alter_evidence'] ?? '';
$denyDelete = $_POST['set_deny_delete_evidence'] ?? '';
$denyDeleteAll = $_POST['deny_delete_all_evidence_from_email'] ?? '';
$deleteAccount = $_POST['delete_account'] ?? '';
$r1 = '';
$r2 = '';
$error = '';
if ($r1 !== '') {
// the bug is in regards to the conditional statement below.
if (($alterAccount != '' || $denyRoot != '' || $denyAlter != '' ||
$decyDelete != '' || $deleteAccount != '') && $deleteAccount !=
'') {
$error .= "You may not create an account or alter and acount and delete it while
altering privilages.";
}
if ($deleteAccount !== '') {
$_SESSION['alterAccount'] = $alterAccount;
header('Location: delete_account.php');
exit();
}
}
?>
<?= $error ?? "" ?><br>
<form action="createAdministrativeAccount.php" method="POST">
<label for="create_administrative_account">Create administrative account from
existing account:</label><input type="text"
name="create_administrative_account" value="<?=
$_POST['create_administrative_account'] ?? '' ?>"> <br>
<label for="alter_administrative_account">Alter administrative
account:</label><input type="text" name="alter_administrative_account"
value="<?= $_POST['alter_administrative_account'] ?? '' ?>">
<br>
<label for="allow_root_privilages">Allow root privilages:</label><input
type="checkbox" name="allow_root_privilages"><br>
<label for="set_allow_alter_evidence">Set allow alter
evidence:</label><input type="checkbox"
name="set_allow_alter_evidence"><br>
<label for="set_allow_delete_evidence">Set allow delete
evidence:</label><input type="checkbox"
name="set_allow_delete_evidence"><br>
<label for="allow_delete_all_evidence_from_email">Set allow delete all evidence
from email:</label><input type="checkbox"
name="allow_delete_all_evidence_from_email"><br>
<label for="deny_root_privilages">Deny root privilages:</label><input
type="checkbox" name="deny_root_privilages"><br>
<label for="set_deny_alter_evidence">Set deny alter
evidence:</label><input type="checkbox"
name="set_deny_alter_evidence"><br>
<label for="set_deny_delete_evidence">Set deny delete
evidence:</label><input type="checkbox"
name="set_deny_delete_evidence"><br>
<label for="deny_delete_all_evidence_from_email">Set allow delete all evidence
from email:</label><input type="checkbox"
name="deny_delete_all_evidence_from_email"><br>
<label for="delete_account">Delete account:</label> <input
type="checkbox" name="delete_account"><br>
<input type="submit" name="submit" value="SUBMIT">
</form>
<?php
Resulted in this output:
```
```
went to delete_account.php
But I expected this output instead:
```
```
should have altered $error variable.
### PHP Version
php 8.3.0
### Operating System
rocky linux 9