Und keiner hat bemerkt, dass das ganze gar nicht richtig funktioniert??? Es wurde total falsch sortiert.
Ich habe es jetzt noch mal neu gemacht, aber immer noch ein Problem, welches mir langsam den letzten Nerv kostet. Wenn ich das Formular abschicke wird die Seite anschließend wohl nicht neu geladen und mir wird wieder die ursprüngliche Sortierung angezeigt. Erst wenn ich manuell die Seite neu lade, bekomme ich die neue Sortierung zu sehen. Ich habe es mit headers versucht
header("Cache-Control: post-check=0, pre-check=0", FALSE);
header("Cache-Control: no-cache, must-revalidate");
header("Refresh:0; url=sortieren.php?ArtNr=" . $ArtNr);
und auch mit meta-tags
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
aber nichts funktioniert.
Hier mal der Quellcode:
sortieren.php
<ul id="sortable">
<?php
$old_files = array();
$bilder_verzeichnis = "../images/waren/" . $ArtNr . "/";
if(is_dir($bilder_verzeichnis)) { // existiert das Verzeichnis?
$old_files = scandir($bilder_verzeichnis); // Dateinamen in Array einfügen
$old_files_count = count($old_files)-2; // Zählt die Bilder im Array Minus zwei wegen "." und ".." Arrayinhalt zählen
$old_files_netto = $old_files_count / 3; // dividiert durch 3 (XL , L , M)
$old_files_M = array_slice($old_files, $old_files_netto + 2, $old_files_netto); // Gibt nur die M_-Bilder zurück
}
for($i = 0; $i < count($old_files_M); $i++){
$letter = chr($i + 97);
?>
<li id="<?php echo $letter ?>" class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span><img src="<?php echo $bilder_verzeichnis . $old_files_M[$i] ?>"></li>
<?php
}
?>
</ul>
<form action='sort_psg.php?ArtNr=<?php echo $ArtNr ?>' method='POST'>
<input id='inputvalue' type='hidden' name='newsort' value='' />
<input type='submit' value='Sortierung Speichern' />
</form>
Alles anzeigen
Sieht in reinem HTML dann so aus:
<ul id="sortable">
<li id="a" class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span><img src="../images/waren/fu0010/M_fu0010a.jpg"></li>
<li id="b" class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span><img src="../images/waren/fu0010/M_fu0010b.jpg"></li>
<li id="c" class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span><img src="../images/waren/fu0010/M_fu0010c.jpg"></li>
<li id="d" class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span><img src="../images/waren/fu0010/M_fu0010d.jpg"></li>
<li id="e" class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span><img src="../images/waren/fu0010/M_fu0010e.jpg"></li>
<li id="f" class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span><img src="../images/waren/fu0010/M_fu0010f.jpg"></li>
<li id="g" class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span><img src="../images/waren/fu0010/M_fu0010g.jpg"></li>
<li id="h" class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span><img src="../images/waren/fu0010/M_fu0010h.jpg"></li>
<li id="i" class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span><img src="../images/waren/fu0010/M_fu0010i.jpg"></li>
<li id="j" class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span><img src="../images/waren/fu0010/M_fu0010j.jpg"></li>
<li id="k" class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span><img src="../images/waren/fu0010/M_fu0010k.jpg"></li>
<li id="l" class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span><img src="../images/waren/fu0010/M_fu0010l.jpg"></li>
</ul>
<form action='sort_psg.php?ArtNr=fu0010' method='POST'>
<input id='inputvalue' type='hidden' name='newsort' value='' />
<input type='submit' value='Sortierung Speichern' />
</form>
Alles anzeigen
sort_psg.php
<?php
$ArtNr = $_GET["ArtNr"];
$bilder_verzeichnis = "../images/waren/" . $ArtNr . "/";
// Übernahme der Sortierung aus jQuery
$sortArray = explode(",",$_POST['newsort']??"");
// Verzeichnis wird eingelesen
$files = scandir($bilder_verzeichnis); // Dateinamen in Array einfügen
$files_count = count($files)-2; // Zählt die Bilder im Array Minus zwei wegen "." und ".." Arrayinhalt zählen
$files_netto = $files_count / 3; // dividiert durch 3 (XL , L , M)12
$files_M = array_slice($files, $files_netto + 2, $files_netto); // Gibt nur die M_-Bilder zurück
// Buchstaben in ganze Dateinamen umbenennen und in Array schreiben
// Größenangabe (M_) entfernen
for($i = 0; $i < count($sortArray); $i++){
$nameArray[] = $ArtNr . $sortArray[$i] . ".jpg";
$filesNew[] = substr($files_M[$i], -11);
}
// alte und neue Dateinamen werden gegenüber gestellt
$new_old = array_combine($filesNew, $nameArray);
// alte und neue Dateinamen werden ausgelesen, Alte werden in Neue umbenannt mit Endung .tmp
// neue Dateinamen werden in Array geladen
$nnArray = array();
foreach($new_old AS $oldName => $newName){
$new_Name_L = $bilder_verzeichnis . "L_" . $newName;
$old_Name_L = $bilder_verzeichnis . "L_" . $oldName . ".tmp";
$new_Name_M = $bilder_verzeichnis . "M_" . $newName;
$old_Name_M = $bilder_verzeichnis . "M_" . $oldName . ".tmp";
$new_Name_XL = $bilder_verzeichnis . "XL_" . $newName;
$old_Name_XL = $bilder_verzeichnis . "XL_" . $oldName . ".tmp";
rename($new_Name_L, $old_Name_L);
rename($new_Name_M, $old_Name_M);
rename($new_Name_XL, $old_Name_XL);
$nnArray[] = $old_Name_L;
$nnArray[] = $old_Name_M;
$nnArray[] = $old_Name_XL;
}
// Endung .tmp wird entfernt
foreach($nnArray AS $name_tmp){
$notmp = substr($name_tmp, 0, -4);
rename($name_tmp , $notmp);
}
header("Cache-Control: post-check=0, pre-check=0", FALSE);
header("Cache-Control: no-cache, must-revalidate");
header("Refresh:0; url=sortieren.php?ArtNr=" . $ArtNr);
?>
Alles anzeigen