Ulf: Irgendwie verschluckt mein ARRAY Daten

Beitrag lesen

Teil 2 des Source-Codes:

</script> </head> <body> <? if ($HTTP_POST_VARS["recur"] != "") { ?> <form name="Formular"> </form>

<?php

// ANFANG: Überprüfung, ob der Schulungsraum frei ist anhand von phpPlanner

$numrecur = $HTTP_POST_VARS["numrecur"]; $recur = $HTTP_POST_VARS["recur"]; $von = $HTTP_POST_VARS["von"]; $bis = $HTTP_POST_VARS["bis"]; $datum = $HTTP_POST_VARS["datum"]; $link_pr = mysql_connect("$host:$port","$user","$pass"); mysql_select_db("Schedule",$link_pr); $query_pr = "select * from sched"; $result_pr = mysql_query($query_pr,$link_pr); $num_pr = mysql_numrows($result_pr);

for ($i = 0; $i < $num_pr-1; $i++) { $row_pr = mysql_fetch_array($result_pr);

// datestamp erstellen (siehe Tabelle sched in der Datenbank Schedule)

// print($datum); // Datumsüberprüfung // print("<br>"); list($tag_timestampdatum,$monat_timestampdatum,$jahr_timestampdatum)=split('[.]',$datum,3); // print($tag_timestampdatum); // print("."); // print($monat_timestampdatum); // print("."); // print($jahr_timestampdatum); // print("-"); $timestampdatum_ges=array(); if($recur="keine") { $schleife=0; $erhoehen=$tag_timestampdatum+$schleife; $zeit=mktime('00','00','00',$monat_timestampdatum,$erhoehen,$jahr_timestampdatum); $timestampdatum_ges[$schleife]=$zeit; } if($recur="taeglich") { for($schleife=0; $schleife < $numrecur; $schleife++) { $erhoehen=$tag_timestampdatum+$schleife; $zeit=mktime('00','00','00',$monat_timestampdatum,$erhoehen,$jahr_timestampdatum); $timestampdatum_ges[$schleife]=$zeit; } } if($recur="woechentlich") { for($schleife=0; $schleife < $numrecur; $schleife++) { $erhoehen=$tag_timestampdatum+($schleife*7); $zeit=mktime('00','00','00',$monat_timestampdatum,$erhoehen,$jahr_timestampdatum); $timestampdatum_ges[$schleife]=$zeit; } } if($recur="monthly") { for($schleife=0; $schleife < $numrecur; $schleife++) { $erhoehen=$monat_timestampdatum+$schleife; $zeit=mktime('00','00','00',$erhoehen,$tag_timestampdatum,$jahr_timestampdatum); $timestampdatum_ges[$schleife]=$zeit; } } if($recur="jaehrlich") { for($schleife=0; $schleife < $numrecur; $schleife++) { $erhoehen=$jahr_timestampdatum+$schleife; $zeit=mktime('00','00','00',$monat_timestampdatum,$tag_timestampdatum,$erhoehen); $timestampdatum_ges[$schleife]=$zeit; } } //for($schleife=0; $schleife < $numrecur; $schleife++) //{ //print($timestampdatum_ges[$schleife]); // Timestamp-Prüfung //print("<br>"); //}

// von-timestamp erstellen

list($stundevon,$minutevon)=split(":",$von,2); $jahrvon = date('y', $row_pr[stimestamp]); $monatvon = date('m', $row_pr[stimestamp]); $tagvon = date('d',$row_pr[stimestamp]); $timestampvon = mktime($stundevon,$minutevon,0,$monatvon,$tagvon,$jahrvon);

// bis-timestamp erstellen

list($stundebis,$minutebis)=split(":",$bis,2); $jahrbis = date('y', $row_pr[etimestamp]); $monatbis = date('m', $row_pr[etimestamp]); $tagbis = date('d',$row_pr[etimestamp]); $timestampbis = mktime($stundebis,$minutebis,00,$monatbis,$tagbis,$jahrbis); echo "($stundebis,$minutebis,00,$monatbis,$tagbis,$jahrbis)"; // Vergleich, ob die timestamps gleich sind. // Wenn ja, ist der Schulungsraum um die Uhrzeit besetzt, // sonst ist er frei.

$query_prv = "select stimestamp from sched"; //von $query_prb = "select etimestamp from sched"; //bis $result_prv = mysql_query($query_prv,$link_pr); $result_prb = mysql_query($query_prb,$link_pr); $query_pr2 = "select * from sched WHERE $timestampvon=stimestamp"; $query_pr3 = "select * from sched WHERE $timestampbis=etimestamp"; $query_pr4 = "select * from sched WHERE $timestampvon<etimestamp AND $timestampbis>stimestamp"; $result_pr2 = mysql_query($query_pr2,$link_pr); $result_pr3 = mysql_query($query_pr3,$link_pr); $result_pr4 = mysql_query($query_pr4,$link_pr); $num_pr2 = mysql_numrows($result_pr2); $num_pr3 = mysql_numrows($result_pr3); $num_pr4 = mysql_numrows($result_pr4);

for($schleife=0; $schleife < $numrecur; $schleife++) {

// Prüfung, ob das array richtig funktioniert // print($i); // print(" - "); // print($schleife); // print(" - "); // print($timestampdatum_ges[$schleife]); // print("<br>"); // print($timestampvon); // print("<br>"); // print($timestampbis); // print("<br>");

$query_prd = "select datestamp from sched"; //Datum $result_prd = mysql_query($query_prd,$link_pr); $query_pr5 = "select * from sched WHERE $timestampdatum_ges[$schleife]=datestamp"; $result_pr5 = mysql_query($query_pr5,$link_pr); $num_pr5 = mysql_numrows($result_pr5); }

// Debug-Informationen

// print("num_pr2: "); // Überprüfung, ob es gleiche Startzeitpunkte gibt // print($num_pr2); // print(" - num_pr3: "); // Überprüfung, ob es gleiche Endzeitpunkte gibt // print($num_pr3); // print(" - num_pr4: "); // Überprüfung, ob es Überschneidungen von Start- und Endzeitpunkten gibt // print($num_pr4); // print(" - num_pr5: "); // Überprüfung, ob es an diesem Tag schon Schulungen gibt // print($num_pr5); // print("<br><br>");

// Vergleich, ob die datestamps gleich sind. // Sind die Anzahl der datestamps und timestamps // größer 0, ist der Schulungsraum an dem Tag, zu der // gewünschten Uhrzeit besetzt.

}

mysql_close($link_pr);

// Hier findet die eigentliche Prüfung der Buchungsdaten statt. if((($num_pr2==0) AND ($num_pr3==0) AND ($num_pr4==0)) OR ($num_pr5==0)) { $datum = $HTTP_POST_VARS["datum"]; $von = $HTTP_POST_VARS["von"]; $bis = $HTTP_POST_VARS["bis"]; $thema = $HTTP_POST_VARS["thema"]; $beschreibung = $HTTP_POST_VARS["beschreibung"]; $offen = $HTTP_POST_VARS["offen"];

// Wert der Variable offen ändern. Checkbox-Wert=on/Variablenwert=ja sonst ist er nein

if($offen=="on") { $offen="ja"; } else { $offen="nein"; }

$max = $HTTP_POST_VARS["max"]; $mail = $HTTP_POST_VARS["mail"]; $numrecur = $HTTP_POST_VARS["numrecur"]; $recur = $HTTP_POST_VARS["recur"]; $name = $HTTP_POST_VARS["name"]; $vorname = $HTTP_POST_VARS["vorname"]; mail(         "$mail",         "Buchung des Schulungsraums",         "Am $datum\nvon $von\nbis $bis\nThema: $thema \nBeschreibung: $beschreibung\nWiederholung: $recur ($numrecur)\n\nName: $name\nVorname: $vorname"); print("<h1 align='center'>Schulungsraum gebucht</h1><br>"); print("<h4 align='center'>Sollte der Schulungsraum in dieser Zeit"); print("nicht zur Verfügung stehen<br>werden Sie umgehend von uns per Mail informiert.</h4>");

// Eintrag in die Datenbank stua : Tabelle schulungen

$link_add = mysql_connect("$host:$port","$user","$pass"); mysql_select_db("stua",$link_add); $result_add = mysql_query($query_add,$link_add); $query_add = "INSERT INTO schulungen(thema, beschreibung, datum, dozent, max, anmeldungen, offen, von, bis, mail) VALUES ('$thema','$beschreibung','$datum','$vorname $name', '$max', '0', '$offen', '$von', '$bis', '$mail')"; $result_add = mysql_query($query_add,$link_add); mysql_close($link_add); // print($query_add); // Überprüfung, ob die Abfrage korrekt ist // print("<br><br>"); // Eintrag in die Datenbank Schedule : Tabelle sched

$link_add2 = mysql_connect("$host:$port","$user","$pass"); mysql_select_db("Schedule",$link_add2); for($schleife=0; $schleife < $numrecur; $schleife++) { $timestampdat=$timestampdatum_ges[$schleife]; $result_add2 = mysql_query($query_add2,$link_add2); $query_add2 = "INSERT INTO sched(datestamp, stimestamp, etimestamp, resource, descr) VALUES ('$timestampdat', '$timestampvon', '$timestampbis', 'Schulungsraum', '$thema')"; $result_add2 = mysql_query($query_add2,$link_add2); print($query_add2); // Überprüfung, ob die Abfrage korrekt ist print("<br>"); } mysql_close($link_add2); } else { print("<h1 align='center'><font color='#FF0000'>Fehler beim Buchen des Schulungsraumes</font></h1><br><br>"); print("<h4 align='center'>Der Schulungsraum ist zu dem von Ihnen angegebenen Zeitpunkt leider schon gebucht.</h4>"); }

// ENDE: Überprüfung, ob der Schulungsraum frei ist anhand von phpPlanner

} else { ?> <h1 align="center">Schulungsraum buchen</h1> <form name="Formular" method="post" action="schulungsraumbuchen.php"> <table align="center"> <tr>  <td align="right">gewünschtes Datum:</td>  <td><input type="text" name="datum" maxlength="10" size="8"></td> </tr> <tr>  <td align="right">Name:</td> <? echo "<td><input type=text name=name size=30 value=$_SESSION[name]>"; ?> </tr> <tr>  <td align="right">Vorname:</td> <? echo "<td><input type=text name=vorname size=30 value=$_SESSION[vname]>"; ?> </tr> <tr>  <td align="right">email-Adresse:</td> <? echo "<td><input type=text name=mail size=30 value=$_SESSION[email]>"; ?> </tr> <tr>  <td align="right">Von:</td>  <td><input type="text" name="von" maxlength="5" size="4">Uhr</td> </tr> <tr>  <td align="right">bis:</td>  <td><input type="text" name="bis" maxlength="5" size="4">Uhr</td> </tr> <tr>  <td align="right">Thema:</td>  <td><textarea name="thema" rows=2 cols=50></textarea></td> </tr> <tr>  <td align="right">Beschreibung:</td>  <td><textarea name="beschreibung" rows=3 cols=50></textarea></td> </tr> <tr>  <td align="right">maximale<br>Teilnehmerzahl:</td>  <td><input type="text" name="max" maxlength="2" size="2"></td> </tr> <tr>  <td align="right">öffentliche<br>Schulung:</td>  <td><input type="checkbox" name="offen"></td> </tr> <td align="right">Wiederholung:</td> <td> <div ID="recurdiv">    <select name="recur" onChange="rbox_handler();">     <option value="keine" selected>keine</option>     <option value="taeglich">täglich</option>     <option value="woechentlich">wöchentlich</option>     <option value="monthly">monatlich</option>     <option value="jaehrlich">jährlich</option>    </select>  einmalig </div> </td> </tr> <tr><td colspan = "2"><br></td> </tr> <tr> <td colspan = "2" align="center"><input type="button" value="Senden" onClick="checkFields()";></td> </tr> </table>   </form> <? } ?> </body> </head>

nochmals Danke!