Hallo zusammen,
ich schreibe an einer kleinen admin oberfläche, welche für wenige user einen raumplaner, bei dem es ca. 3 bis 5 räume gibt, welche den status - belegt oder frei haben.
Nach einigen Tutorials wie man nun einen kalender erstellt bin ich an einem punkt angekommen, bei dem ich nun irgendwie auf dem schlauch stehe.
Aufgabe ist folgende:
zu jedem Datum im Kalender gibt es ca 5 Räume (verschieden)
jeder Raum ist genau einmal belegbar (von einer person)
belegung erfolgt durch klick auf den Link -> frei
nach click sollte sich der Status des Raumes auf belegt setzten
Daten in die Datenbank Tabelle (raumbelegung) eintragen
navigation vor / zurück Monat (wird per GET parameter gesetzt)
DB: raumbelegung
id_of_reserv / room_name / date_of_occupation / user_name
ausgabe als tabelle im Frontend :
Datum / Raum 1 / Raum 2 / Raum 3 / ...
-------------------------------------------------------------
01.12.2014 / frei / frei / belegt / .....
02.12.2014 / belegt / frei / frei / .....
So nun meine Fragen
1. welche methode eignet sich am besten die daten zu übertragen?
POST oder GET, da ich in jedem fall auch noch den user_namen und user_id speichert muss welche an die getCalendar(x,y,z) als parameter übergeben wird und ich einiges gelesen habe das GET methoden unsicher sind bei der übertragung. bzw. wäre es trotzdem ok, da man eingeloggt sein muss, oder wie kann man sicherstellen dass es trotzdem sicher ist?
2. übergabe per POST: die seite springt nach submit formular. Bsp. ich wähle das Datum 02. Februar 2015 -> dies erzeugt ein neuladen der seite welches mich auf die aktuelle November 2014 ansicht zurück navigiert, so dass dieses verhalten etwas iritierend ist -- Kann man das evtl. unterbinden, so das nach submit formular die ansicht immer noch zb. 02. Februar 2015 ist ?
3. wie kann ich nun sicherstellen, dass der status des Raumes zu dem Tag D.M.YYYY, welcher bereits in Datenbank gespeichert ist auch als belegt markiere? (auslesen der Datenbank tabelle in array?? und check if date and raum exist in array??? dies würde direkt bei der datum-raum iterierung passieren? siehe getCalendar() ) -> hier wäre ein denkanstoss von nöten.
-- wäre hier sinnvoll an dieser stelle mit ajax zu arbeiten, da ja per event ein status eintritt? -> welches mich wieder auf frage nr. 1 zurückführt mit welcher methode wiederrum am besten zu arbeiten POST oder GET? 
hier nun der code
thnx m.
ich schreibe an einer kleinen admin oberfläche, welche für wenige user einen raumplaner, bei dem es ca. 3 bis 5 räume gibt, welche den status - belegt oder frei haben.
Nach einigen Tutorials wie man nun einen kalender erstellt bin ich an einem punkt angekommen, bei dem ich nun irgendwie auf dem schlauch stehe.
Aufgabe ist folgende:
zu jedem Datum im Kalender gibt es ca 5 Räume (verschieden)
jeder Raum ist genau einmal belegbar (von einer person)
belegung erfolgt durch klick auf den Link -> frei
nach click sollte sich der Status des Raumes auf belegt setzten
Daten in die Datenbank Tabelle (raumbelegung) eintragen
navigation vor / zurück Monat (wird per GET parameter gesetzt)
DB: raumbelegung
id_of_reserv / room_name / date_of_occupation / user_name
ausgabe als tabelle im Frontend :
Datum / Raum 1 / Raum 2 / Raum 3 / ...
-------------------------------------------------------------
01.12.2014 / frei / frei / belegt / .....
02.12.2014 / belegt / frei / frei / .....
So nun meine Fragen
1. welche methode eignet sich am besten die daten zu übertragen?
POST oder GET, da ich in jedem fall auch noch den user_namen und user_id speichert muss welche an die getCalendar(x,y,z) als parameter übergeben wird und ich einiges gelesen habe das GET methoden unsicher sind bei der übertragung. bzw. wäre es trotzdem ok, da man eingeloggt sein muss, oder wie kann man sicherstellen dass es trotzdem sicher ist?
2. übergabe per POST: die seite springt nach submit formular. Bsp. ich wähle das Datum 02. Februar 2015 -> dies erzeugt ein neuladen der seite welches mich auf die aktuelle November 2014 ansicht zurück navigiert, so dass dieses verhalten etwas iritierend ist -- Kann man das evtl. unterbinden, so das nach submit formular die ansicht immer noch zb. 02. Februar 2015 ist ?
3. wie kann ich nun sicherstellen, dass der status des Raumes zu dem Tag D.M.YYYY, welcher bereits in Datenbank gespeichert ist auch als belegt markiere? (auslesen der Datenbank tabelle in array?? und check if date and raum exist in array??? dies würde direkt bei der datum-raum iterierung passieren? siehe getCalendar() ) -> hier wäre ein denkanstoss von nöten.


hier nun der code
PHP-Code:
<?php
public function getCalendar($date, $user_name, $user_id){
if( isset($_REQUEST['timestamp'])) $date = $_REQUEST['timestamp'];
else $date = time();
$year == null;
$month == null;
if(null==$year&&isset($_GET['year'])){
$year = $_GET['year'];
}else if(null==$year){
$year = date("Y",time());
}
if(null==$month&&isset($_GET['month'])){
$month = $_GET['month'];
}else if(null==$month){
$month = date("m",time());
}
$this->currentYear = $year;
$this->currentMonth = $month;
$this->daysInMonth = $this->_daysInMonth($month,$year);
$this->room_name = $_GET['raumName'];
$content = $this->_calendarNavigation();
$content .= '<div class="roomCalenar">';
$content .= '<div class="roomheader">
<span class="date">Datum</span>
<span class="room">R1</span>
<span class="room">R3</span>
<span class="room">R4</span>
</div>';
for( $i = 1; $i <= $this->daysInMonth; $i++ ){
$content .= '<div class="rows">
<span class="date">'.$i.".".$this->currentMonth.".".$this->currentYear.'</span>';
for($k = 1; $k <= 3; $k++){
$raumName = "R".$k;
$content .= '<span class="room">
<a href="'.$this->naviHref.'?year='.$this->currentYear.'&month='.sprintf('%02d',$this->currentMonth).'&day='.$i.'&room_name='.$room_name.'&user_name='.$this->user_name.'">frei</a>
</span>';
}
$content .= '</div>';
}
$content .= '</div>';
echo $content;
}
Kommentar