Ich habe jetzt die Zeile gefunden, habe aber noch nicht verstanden, ob es ein Problem mit Apache gibt, oder ob es mit PHP zusammenhängt.
In diesem Quellcode:
- Code: Select all
<?
session_start();
if ($_SESSION['Login'] != "Herbst")
{
session_destroy();
header("Location:http://localhost/Notenverwaltung_Schule/index.php?id=1");
}
if ($_SESSION['Rolle'] != "Lehrer")
{
session_destroy();
header("Location:http://localhost/Notenverwaltung_Schule/index.php?id=2");
}
if(!isset($_POST['klasse']) || ! isset($_POST['fach']))
{
session_destroy();
header("Location: http://localhost/Notenverwaltung_Schule/index.php?id=2");
}
include("../includes_db/db_open.inc.php");
$klasse=$_POST['klasse'];
$fach=$_POST['fach'];
$anmerkung=0;
$datum=0;
if (isset($_POST['datum_alle']))
{
$datum_alle=1;
}
if(isset($_POST['anmerkung_alle']))
{
$anmerkung_alle=1;
}
$schuelerquery="SELECT p.P_Id FROM klasseneinteilung k, personen p WHERE k.K_Id=".$klasse." AND p.P_Id=k.P_Id AND k.F_Id IS NULL ORDER BY p.Nachname, p.Vorname;";
$schuelerdaten=$db->query($schuelerquery);
$erst_a=0;
$erst_d=0;
while ($schueler=$schuelerdaten->fetch_array())
{
$anmerkung="anmerkung_".$schueler['P_Id'];
$datum="datum_".$schueler['P_Id'];
$note="note_".$schueler['P_Id'];
if ($erst_d == 0)
{
$datum_text=$_POST[$datum];
}
if ($erst_a == 0)
{
$anmerkung_text=$_POST[$anmerkung];
}
if(datum_text != "dd.mm.yyyy" && $_POST[$note] != 0)
{
$datum_text=explode(".", $datum_text);
$error = 0;
if(sizeof($datum_text) != 3)
{
$error=1;
}
else
{
$monat=$datum_text[1];
$tag=$datum_text[0];
$jahr=$datum_text[2];
if ($monat > 12 && $monat < 1)
{
$error=2;
}
if($jahr > date("Y") && $jahr < date("Y")-1)
{
$error=3;
}
if($tag < 1)
{
$error=4;
}
switch ($monat)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
if($tag > 31)
{
$error=5;
}
break;
case 4:
case 6:
case 9:
case 11:
if($tag > 30)
{
$error=6;
}
break;
case 2:
if(($jahr % 4) == 0 && $tag > 29)
{
$error=7;
}
else if ($tag > 28)
{
$error=8;
}
break;
}
}
$datum_text=$datum_text[2]."-".$datum_text[1]."-".$datum_text[0];
if($error != 0)
{
include("../includes_db/db_close.inc.php");
header("Location: http://localhost/Notenverwaltung_Schule/Lehrer/index.php?id=3&error=2&klasse=".$klasse."&fach=".$fach);
}
$notenquery="INSERT INTO noten (Schueler, Lehrperson, Note, Datum_Eintrag, Datum_Vergabe, Anmerkung, F_Id) VALUES (".$schueler['P_Id'].", ".$_SESSION['Personennummer'].", ".$_POST[$note].", CURDATE(), DATE('".$datum_text."'), '".$anmerkung_text."', ".$fach.");";
$db->query($notenquery);
if($db->affected_rows > 1)
{
include("../includes_db/db_close.inc.php");
header("Location: http://localhost/Notenverwaltung_Schule/Lehrer/index.php?id=3&error=3&klasse=".$klasse."&fach=".$fach);
}
if($anmerkung_alle == 1)
{
$erst_a=1;
}
if($datum_alle == 1)
{
$erst_d=1;
}
}
}
include("../includes_db/db_close.inc.php");
header("Location: http://localhost/Notenverwaltung_Schule/Lehrer/index.php?id=3&error=1");
?>
Funktioniert folgendes nicht:
nach der Query im unterem Teil
- Code: Select all
...
$notenquery="INSERT INTO noten (Schueler, Lehrperson, Note, Datum_Eintrag, Datum_Vergabe, Anmerkung, F_Id) VALUES (".$schueler['P_Id'].", ".$_SESSION['Personennummer'].", ".$_POST[$note].", CURDATE(), DATE('".$datum_text."'), '".$anmerkung_text."', ".$fach.");";
$db->query($notenquery);
if($db->affected_rows > 1)
{
include("../includes_db/db_close.inc.php");
header("Location: http://localhost/Notenverwaltung_Schule/Lehrer/index.php?id=3&error=3&klasse=".$klasse."&fach=".$fach);
}
...
kann ich nicht $db-affected_rows ausführen. Diese Eigenschaft benutze ich in fast jedem Script, aber hier bei diesem Zugriff will der Speicher nicht mitmachen, was ich nicht ganz verstehe...
ich hoffe dass mein problem jetzt soweit verstanden wurde.
p.s. habe xampp neu installiert, hat keine Veränderung mit sich gebracht. Bin gerade dabei, in Linux zu versuchen, ob es auch da Probleme gibt mit dem Script.
~markus