CreativPur
Erfahrenes Mitglied
Hi,
mein Provider hat eine PHP Version Umstellung von 7.5 auf 8.1 vorgenommen.
Seitdem habe ich zwar meine Seite wieder zum laufen gebracht, dennoch mach mir folgendes Script seit Tagen Kopfzerbrechen.
Es geht um ein Lotto-System wo ich ich Lottozahlen aktivieren, bzw. deaktivieren kann.
Diese Funktion funktioniert auch soweit.
Nur lassen sich die Zahlen nicht mehr speichern..
Das bisherige Script schaut folgend aus..
Der Code für Auswahl der Zahlen ist folgend..
Das erste Script blockiert meine Seite, so dass sie nur weiß erscheint..
Worin liegt der Fehler ?
mein Provider hat eine PHP Version Umstellung von 7.5 auf 8.1 vorgenommen.
Seitdem habe ich zwar meine Seite wieder zum laufen gebracht, dennoch mach mir folgendes Script seit Tagen Kopfzerbrechen.
Es geht um ein Lotto-System wo ich ich Lottozahlen aktivieren, bzw. deaktivieren kann.
Diese Funktion funktioniert auch soweit.
Nur lassen sich die Zahlen nicht mehr speichern..
Das bisherige Script schaut folgend aus..
PHP:
$nr = count($_POST['wochentag']);
$aktiv = [];
for ($i = 0; $i < $nr; $i++) {
$aktiv[$i] = 0;
}
for ($j = 0; $j < count($_POST['aktiv']); $j++) {
$i = $_POST['aktiv'][$j];
$aktiv[$i] = 1;
}
if (isset($_GET['lz_aendern'])) {
$error = false;
for ($i = 0; $i < $nr; $i++) {
$id_lz = $_POST['id_lz'][$i];
$wochentag = $_POST['wochentag'][$i];
$lottozahl = $_POST['lottozahl'][$i];
$aktiv = $aktiv[$i];
$statement = $pdo->prepare("UPDATE lotto_zahlen SET aktiv = :aktiv_neu, wochentag = :wochentag_neu, lottozahl = :lottozahl_neu WHERE id_lz = :id_lz");
$statement->execute(array('id_lz' => $id_lz, 'aktiv_neu' => $aktiv, 'wochentag_neu' => $wochentag, 'lottozahl_neu' => $lottozahl));
}
}
Der Code für Auswahl der Zahlen ist folgend..
PHP:
<?php
$wochentag = $_GET['wochentag'];
$sql = "SELECT * FROM lotto_zahlen WHERE wochentag = '$wochentag' AND aktiv = 1 Order BY lottozahl ASC";
echo 'Aktive Lottozahlen: ' ;
foreach ($pdo->query($sql) as $lz) {
echo '<span style="color:green;font-size:16px;">' .$lz['lottozahl']. ' </span> ';
}
?>
<form action="lotto.php?lz_aendern&wochentag=<?php echo $_GET['wochentag'] ?>&limit=<?php echo $_GET['limit'] ?> " method="post">
<br />
<table border="1" align="center">
<tr align="center">
<?php
$wochentag = $_GET['wochentag'];
$sql = "SELECT * FROM lotto_zahlen WHERE wochentag = '$wochentag' AND lottozahl IN (1,2,3,4,5,6,7) Order BY lottozahl ASC";
$i = 0;
foreach ($pdo->query($sql) as $lz_td) {
?>
<td>
<input type="checkbox" name="aktiv[]" value="<?php echo $i; ?>" <?php if ( $lz_td['aktiv']) { echo "checked"; } else { echo ""; } ?> id="lz_<?php echo $lz_td['id_lz'] ?>"/> <label for="lz_<?php echo $lz_td['id_lz'] ?>"><?php echo $lz_td['lottozahl'] ?></label>
<input type="hidden" class="form-control" name="id_lz[]" value="<?php echo $lz_td['id_lz'] ?>">
<input type="hidden" class="form-control" name="wochentag[]" value="<?php echo $lz_td['wochentag'] ?>">
<input type="hidden" class="form-control" name="lottozahl[]" value="<?php echo $lz_td['lottozahl'] ?>">
<input type="hidden" class="form-control" name="historie_lz[]" value="<?php echo $lz_td['historie_lz'] ?>">
<?php
$i++;
} ?>
</td>
</tr>
<tr align="center">
<?php
$wochentag = $_GET['wochentag'];
$sql = "SELECT * FROM lotto_zahlen WHERE wochentag = '$wochentag' AND lottozahl IN (8,9,10,11,12,13,14) Order BY lottozahl ASC ";
foreach ($pdo->query($sql) as $lz_td) {
?>
<td>
<input type="checkbox" name="aktiv[]" value="<?php echo $i; ?>" <?php if ( $lz_td['aktiv']) { echo "checked"; } else { echo ""; } ?> id="lz_<?php echo $lz_td['id_lz'] ?>"/><label for="lz_<?php echo $lz_td['id_lz'] ?>"><?php echo $lz_td['lottozahl'] ?></label>
<input type="hidden" class="form-control" name="id_lz[]" value="<?php echo $lz_td['id_lz'] ?>">
<input type="hidden" class="form-control" name="wochentag[]" value="<?php echo $lz_td['wochentag'] ?>">
<input type="hidden" class="form-control" name="lottozahl[]" value="<?php echo $lz_td['lottozahl'] ?>">
<input type="hidden" class="form-control" name="historie_lz[]" value="<?php echo $lz_td['historie_lz'] ?>">
<?php
$i++;
}
?>
</td>
</tr>
<tr align="center">
<?php
$wochentag = $_GET['wochentag'];
$sql = "SELECT * FROM lotto_zahlen WHERE wochentag = '$wochentag' AND lottozahl IN (15,16,17,18,19,20,21) Order BY lottozahl ASC ";
foreach ($pdo->query($sql) as $lz_td) {
?>
<td>
<input type="checkbox" name="aktiv[]" value="<?php echo $i; ?>" <?php if ( $lz_td['aktiv']) { echo "checked"; } else { echo ""; } ?> id="lz_<?php echo $lz_td['id_lz'] ?>"/><label for="lz_<?php echo $lz_td['id_lz'] ?>"><?php echo $lz_td['lottozahl'] ?></label>
<input type="hidden" class="form-control" name="id_lz[]" value="<?php echo $lz_td['id_lz'] ?>">
<input type="hidden" class="form-control" name="wochentag[]" value="<?php echo $lz_td['wochentag'] ?>">
<input type="hidden" class="form-control" name="lottozahl[]" value="<?php echo $lz_td['lottozahl'] ?>">
<input type="hidden" class="form-control" name="historie_lz[]" value="<?php echo $lz_td['historie_lz'] ?>">
<?php
$i++;
}
?>
</td>
</tr>
<tr align="center">
<?php
$wochentag = $_GET['wochentag'];
$sql = "SELECT * FROM lotto_zahlen WHERE wochentag = '$wochentag' AND lottozahl IN (22,23,24,25,26,27,28) Order BY lottozahl ASC ";
foreach ($pdo->query($sql) as $lz_td) {
?>
<td>
<input type="checkbox" name="aktiv[]" value="<?php echo $i; ?>" <?php if ( $lz_td['aktiv']) { echo "checked"; } else { echo ""; } ?> id="lz_<?php echo $lz_td['id_lz'] ?>"/><label for="lz_<?php echo $lz_td['id_lz'] ?>"><?php echo $lz_td['lottozahl'] ?></label>
<input type="hidden" class="form-control" name="id_lz[]" value="<?php echo $lz_td['id_lz'] ?>">
<input type="hidden" class="form-control" name="wochentag[]" value="<?php echo $lz_td['wochentag'] ?>">
<input type="hidden" class="form-control" name="lottozahl[]" value="<?php echo $lz_td['lottozahl'] ?>">
<input type="hidden" class="form-control" name="historie_lz[]" value="<?php echo $lz_td['historie_lz'] ?>">
<?php
$i++;
}
?>
</td>
</tr>
<tr align="center">
<?php
$wochentag = $_GET['wochentag'];
$sql = "SELECT * FROM lotto_zahlen WHERE wochentag = '$wochentag' AND lottozahl IN (29,30,31,32,33,34,35) Order BY lottozahl ASC ";
foreach ($pdo->query($sql) as $lz_td) {
?>
<td>
<input type="checkbox" name="aktiv[]" value="<?php echo $i; ?>" <?php if ( $lz_td['aktiv']) { echo "checked"; } else { echo ""; } ?> id="lz_<?php echo $lz_td['id_lz'] ?>"/><label for="lz_<?php echo $lz_td['id_lz'] ?>"><?php echo $lz_td['lottozahl'] ?></label>
<input type="hidden" class="form-control" name="id_lz[]" value="<?php echo $lz_td['id_lz'] ?>">
<input type="hidden" class="form-control" name="wochentag[]" value="<?php echo $lz_td['wochentag'] ?>">
<input type="hidden" class="form-control" name="lottozahl[]" value="<?php echo $lz_td['lottozahl'] ?>">
<input type="hidden" class="form-control" name="historie_lz[]" value="<?php echo $lz_td['historie_lz'] ?>">
<?php
$i++;
}
?>
</td>
</tr>
<tr align="center">
<?php
$wochentag = $_GET['wochentag'];
$sql = "SELECT * FROM lotto_zahlen WHERE wochentag = '$wochentag' AND lottozahl IN (36,37,38,39,40,41,42) Order BY lottozahl ASC ";
foreach ($pdo->query($sql) as $lz_td) {
?>
<td>
<input type="checkbox" name="aktiv[]" value="<?php echo $i; ?>" <?php if ( $lz_td['aktiv']) { echo "checked"; } else { echo ""; } ?> id="lz_<?php echo $lz_td['id_lz'] ?>"/><label for="lz_<?php echo $lz_td['id_lz'] ?>"><?php echo $lz_td['lottozahl'] ?></label>
<input type="hidden" class="form-control" name="id_lz[]" value="<?php echo $lz_td['id_lz'] ?>">
<input type="hidden" class="form-control" name="wochentag[]" value="<?php echo $lz_td['wochentag'] ?>">
<input type="hidden" class="form-control" name="lottozahl[]" value="<?php echo $lz_td['lottozahl'] ?>">
<input type="hidden" class="form-control" name="historie_lz[]" value="<?php echo $lz_td['historie_lz'] ?>">
<?php
$i++;
}
?>
</td>
</tr>
<tr align="center">
<?php
$wochentag = $_GET['wochentag'];
$sql = "SELECT * FROM lotto_zahlen WHERE wochentag = '$wochentag' AND lottozahl IN (43,44,45,46,47,48,49) Order BY lottozahl ASC ";
foreach ($pdo->query($sql) as $lz_td) {
?>
<td>
<input type="checkbox" name="aktiv[]" value="<?php echo $i; ?>" <?php if ( $lz_td['aktiv']) { echo "checked"; } else { echo ""; } ?> id="lz_<?php echo $lz_td['id_lz'] ?>"/><label for="lz_<?php echo $lz_td['id_lz'] ?>"><?php echo $lz_td['lottozahl'] ?></label>
<input type="hidden" class="form-control" name="id_lz[]" value="<?php echo $lz_td['id_lz'] ?>">
<input type="hidden" class="form-control" name="wochentag[]" value="<?php echo $lz_td['wochentag'] ?>">
<input type="hidden" class="form-control" name="lottozahl[]" value="<?php echo $lz_td['lottozahl'] ?>">
<input type="hidden" class="form-control" name="historie_lz[]" value="<?php echo $lz_td['historie_lz'] ?>">
<?php
$i++;
}
?>
</td>
</tr>
</table>
<br />
<div align="center">
<button type="submit" class="btn btn-info btn-sm">speichern</button>
</div>
</form>
Das erste Script blockiert meine Seite, so dass sie nur weiß erscheint..
Worin liegt der Fehler ?