little
Legacy Member
Hey iedereen
Ik zit met een klein probleem i.v.m. de edit-functie in mijn CMS-script.
Eerste en vooral : ik heb php geleerd door zelf veel uit te vinden, te zoeken, te lezen etc. Mijn manier van werken en schrijven zal dus waarschijnlijk enkele mensen grijs haar bezorgen
Het probleem :
Bij het invoeren van een nieuwe actie is het mogelijk om info en een afbeelding in te voegen. Dit lukt allemaal. Als ik echter de ingevoerde info en afbeelding wil wijzigen loopt het script vast bij de thumbnailer functie. Als het input veld voor de afbeelding leeg blijft, geen probleem. Dan blijft gewoon de oude foto. Wordt er een nieuwe foto opgegeven, moet hij dus een thumbnail maken van de nieuwe foto en de oude foto verwijderen. Hij doet alles behalve de thumbnail functie toepassen. Neem ik de functie weg, werkt alles perfect, behalve de herschaling natuurlijk.
De thumbnailer functie werkt, want ik gebruik ze ook bij het nieuw ingeven van een actie. Kan de plaatst in het script verkeerd zijn?
Iemand die raad weet?
Alvast bedankt!
Ik zit met een klein probleem i.v.m. de edit-functie in mijn CMS-script.
Eerste en vooral : ik heb php geleerd door zelf veel uit te vinden, te zoeken, te lezen etc. Mijn manier van werken en schrijven zal dus waarschijnlijk enkele mensen grijs haar bezorgen

PHP:
/* Edit huidige actie berichten */
if($action == "edit") {
$resultaat = mysql_query("SELECT * FROM ".$table." WHERE ID=".$id."");
while ($row = mysql_fetch_object($resultaat)) {
$edit_naam = "".$row->auteur."";
$edit_titel_nl = "".$row->titel_nl."";
$edit_datum = "".$row->datum."";
$edit_bericht_nl = "".$row->bericht_nl."";
$edit_status = "".$row->status."";
$edit_img_omschrijving = "".$row->fotoalt."";
$edit_foto = "".$row->foto."";
}
if($_SERVER["REQUEST_METHOD"] == 'POST') {
/* Variables voor textarea en textfields */
$titel_nl = escape_quotes($_POST['titel_nl']);
$auteur = $_SESSION['s_gebruiker'];
$datum = escape_quotes($_POST['datum']);
$bericht_nl = escape_quotes($_POST['bericht_nl']);
$status = $_POST['status'];
$img_omschrijving = escape_quotes($_POST['img_omschrijving']);
/* Variables voor file upload */
$bestand_naam = $_FILES['bestandsnaam']['name'];
$bestand_grootte = $_FILES['betandsnaam']['size'];
$bestand_temp = $_FILES['bestandsnaam']['tmp_name'];
$bestand_type = strrchr($bestand_naam,'.');
$extensie = strtolower($bestand_type);
$map = "uploads/acties/";
$thumbm = "thumbs/";
$doelmap = $map.basename( $_FILES['bestandsnaam']['name']);
$thumbmap = $map.$thumbm.basename( $_FILES['bestandsnaam']['name']);
$max_grootte = 2097152;
$toegestane_bestandsextensies = array('.jpg','.jpeg','.gif','.png','.PNG','.JPEG','.GIF',);
$th_breedte = 200;
$th_hoogte = 200;
$thumb_extensies = array(".jpg",".png",".jpeg",".bmp");
$kwaliteit = 75;
/* Errors voor textarea en textfields */
if(empty($titel_nl)) { $error = "<p class=\"warning\">Gelieve een juiste titel voor dit bericht in te geven.</p>"; }
if(empty($datum)) { $error .= "<p class=\"warning\">Gelieve een datum voor dit bericht te kiezen.</p>"; }
if(empty($bericht_nl)) { $error .= "<p class=\"warning\">Gelieve de inhoud voor dit bericht in te geven.</p>"; }
if(!isset($status)) { $error .= "<p class=\"warning\">Gelieve aan te duiden of dit bericht een kladversie is of het gepubliceerd mag worden.</p>"; }
if(empty($error)) {
if(empty($bestand_naam)) {
$sql = mysql_query("UPDATE ".$table." SET titel_nl ='".$titel_nl."', auteur ='".$auteur."', datum ='".$datum."', bericht_nl ='".$bericht_nl."', status='".$status."', fotoalt='".$img_omschrijving."' WHERE ID='".$id."'") or die(mysql_error());
$error = "<p class=\"berichtOK\">Uw actie werd aangepast.</p>";
header("Location: index.php?page=".$page."&sub=".$sub."");
}else{
thumbnailer($bestand_temp, $extensie, $th_breedte, $th_hoogte, $thumbmap, $kwaliteit, $thumb_extensies);
$image_location = "uploads/acties/";
$thumbs_location = "uploads/acties/thumbs/";
// $name = $row->naam;
$thumb_name = $edit_foto;
// $deldoel = realpath ("".$images_location.$name."");
$deldoel_thumb = realpath ("".$thumbs_location.$thumb_name."");
// if (file_exists($deldoel)) unlink($deldoel);
if (file_exists($deldoel_thumb)) unlink($deldoel_thumb);
$sql = mysql_query("UPDATE ".$table." SET titel_nl ='".$titel_nl."', auteur ='".$auteur."', datum ='".$datum."', bericht_nl ='".$bericht_nl."', status='".$status."', fotoalt='".$img_omschrijving."', foto='".$bestand_naam."' WHERE ID='".$id."'") or die("<p class=\"warning\">De gegevens konden niet worden gewijzigd. Indien dit een blijvend probleem is, neem contact op via [email protected]</p>");
$error = "<p class=\"berichtOK\">Uw actie werd aangepast.</p>";
header("Location: index.php?page=".$page."&sub=".$sub."");
}
}
}
}
Het probleem :
Bij het invoeren van een nieuwe actie is het mogelijk om info en een afbeelding in te voegen. Dit lukt allemaal. Als ik echter de ingevoerde info en afbeelding wil wijzigen loopt het script vast bij de thumbnailer functie. Als het input veld voor de afbeelding leeg blijft, geen probleem. Dan blijft gewoon de oude foto. Wordt er een nieuwe foto opgegeven, moet hij dus een thumbnail maken van de nieuwe foto en de oude foto verwijderen. Hij doet alles behalve de thumbnail functie toepassen. Neem ik de functie weg, werkt alles perfect, behalve de herschaling natuurlijk.
De thumbnailer functie werkt, want ik gebruik ze ook bij het nieuw ingeven van een actie. Kan de plaatst in het script verkeerd zijn?
Iemand die raad weet?
Alvast bedankt!
.