Also Leute
Ich versuche gerade ein Sudoku zu erstellen das mir aus einer Datei ein Sudoku hollt und dieses dann in eine Tabelle einträgt und dann dem user ermöglicht weitere Zahlen einzugeben. So weit funktioniert das ganze nur jetzt möchte ich eig nurnoch das wenn der user das komplette sudoku eingetragen hatt das überprüft wird ob das sudoku mit den Zahlen die eingegeben sind möglich ist.
Also keine Zahlen dürfen in Reihe Block und Spalte doppelt vorgekommen sein. Bis dahin klingts ja einfach aber bei mir läd er immer das ganze sudoku bei button klick neu und vergisst trotz session alles was ich eingetragen habe.
Meine File:
Was müsst ich ausbessern um in etwa das hinzubekommen ? Und warum speichert er die session nicht ...
Ich versuche gerade ein Sudoku zu erstellen das mir aus einer Datei ein Sudoku hollt und dieses dann in eine Tabelle einträgt und dann dem user ermöglicht weitere Zahlen einzugeben. So weit funktioniert das ganze nur jetzt möchte ich eig nurnoch das wenn der user das komplette sudoku eingetragen hatt das überprüft wird ob das sudoku mit den Zahlen die eingegeben sind möglich ist.
Also keine Zahlen dürfen in Reihe Block und Spalte doppelt vorgekommen sein. Bis dahin klingts ja einfach aber bei mir läd er immer das ganze sudoku bei button klick neu und vergisst trotz session alles was ich eingetragen habe.
Meine File:
PHP:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Sudoku</title>
<link rel="STYLESHEET" type="text/css" href="sudoku.css">
<script type="text/javascript"></script>
</head>
<body>
<div id=sudoku>
<table width="266" height="117" border=0>
<tr>
<td><center>
<table width="266" height="117" border=0>
<tr>
<td><center>
<h1 class=sudoku>Sudoku</h1>
</center></td>
</tr>
<tr>
<td><center>
</center></td>
</tr>
<tr>
<td class="sudoku"><?php
session_start();
function getSudoku ()
{
$anzahl_benoetigter_zeichen = 162; //Anzahl der Zeichen
$inhalt_datei = "sudoku.txt"; //Die Zeichen aus der Datei in einer variablen speichern
$zeichen_dokument = filesize ($inhalt_datei); //Die Anzahl der Zeichen in der Variablen bestimmen
$moegliche_sudokus_z = $zeichen_dokument / $anzahl_benoetigter_zeichen; //Anzahl der möglichen Sudokus
$rand = rand(0, $moegliche_sudokus_z); //Zufällige Zahl aus .....
$handle = fopen ($inhalt_datei, "r"); //Öffnet den Inhalt und setzt Dateizeiger an den Anfang
$position_zeiger = $anzahl_benoetigter_zeichen * $rand; //Berechnet die Stelle für den Dateizeiger
fseek ($handle, $position_zeiger, SEEK_SET); //Platziert den Dateizeiger
$contents = fread ($handle, $anzahl_benoetigter_zeichen); //Holt die benötigten Zeichen für ein Sudoku
fclose ($handle);
return $contents;
}
$sudokustr = getSudoku ();
$sudoku = explode(";", $sudokustr);
$_SESSION['sudoku'] = $sudoku;
var_dump($_SESSION['sudoku']);
echo "<form method=post>";
echo "<table cellspacing=0 cellpadding=1 border=0 bgcolor=#000000>";
$count = 0;
for ($zeile = 0; $zeile < 9; $zeile++)
{
echo "<tr>";
for ($kasten = 0; $kasten < 9; $kasten++)
{
echo "<td><div class=cell>";
$data = "";
if ($kasten == 2 || $kasten == 5) //Nach 2 und nach 5 Kästchen dicker Strich
{
$border = "border-right:2px solid #000000;";
} else {
$border = "";
}
if ($zeile == 2 || $zeile == 5) //Nach der 2ten und nach der 3ten dicker Unterstrich auf der ganzen Zeile
{
$border .= "border-bottom:2px solid #000000;";
}
if (intval($_SESSION['sudoku'][$count]) > 0 )
{
$data = "value='" . $_SESSION['sudoku'][$count] . "' readonly style='background:#6E6E6E; " . $border . "'";
} else {
$data = "style='" . $border . "'";
}
echo "\r\n<input valign=middle type=text id=i" . $count . " name=" . $count . " " . $data . " size=5 maxlength=1
class=cell onkeyup='fontsize(this, this.value)'>\r\n"; //überflüssiges entfernen
echo "</div></td>";
$count ++;
}
echo "</tr>";
}
echo "</table>";
echo "<input type='submit' value='OK'>";
echo "</form>";
var_dump ($_POST);
if (isset($_POST))
{
$_SESSION['sudoku'] = $_POST;
echo $_SESSION['sudoku'];
}
?>
<script language="JavaScript" type="text/javascript">
function neuesFenster() {
window.open(
"function_****.php",
"Loesung",
"width=400,height=300,resizable=1,scrollbars=1,menubar=1,toolbar=1,location=1,status=1" );
}
</script></td>
</td>
</tr>
<tr>
<td height=28 valign=bottom><center>
<form method=post>
<input type="button" value="Lösung zeigen" onClick="------------">
<input type="button" value="Prïüfung" onClick="------------">
<input type="submit" value="Neues Sudoku" onClick"--">
<input type="button" value="Fertig" onClick="------------">
<div id=bild>
<img src="bilder/Android.png" alt="Das Bild kann leider nicht angezeigt werden O.o">
</div>
<div id=bild2>
<img src="bilder/Android2.png" alt="Das Bild kann leider nicht angezeigt werden O.o">
</div>
<div id=bild3>
<img src="bilder/Android3.png" alt="Das Bild kann leider nicht angezeigt werden O.o">
</div>
<div id=bild4>
<img src="bilder/Android4.png" alt="Das Bild kann leider nicht angezeigt werden O.o" width="135">
</div>
<div id=bild5>
<img src="bilder/hintergrund.png" alt="Das Bild kann leider nicht angezeigt werden O.o">
</div>
</body>
</html>
Was müsst ich ausbessern um in etwa das hinzubekommen ? Und warum speichert er die session nicht ...
Zuletzt bearbeitet: