Salve a tutti, ho questi due script(form e gestore); quando nel form carico
una foto, la prima volta non la salva nel database, se provo una seconda volta
la salva.
Non riesco a trovare l'errore, potete aiutarmi?
Questo è la pagina del form:
Codice PHP:
<?php
if(isset($_REQUEST['id'])){
$id = $_REQUEST['id'];
$articoli = mysql_query("SELECT * FROM edizioni LEFT JOIN banners ON edizioni.id=banners.id
WHERE edizioni.id='".$id."'");
$articolo=mysql_fetch_object($articoli);
$disabled_flag = " disabled = 'disabled'";
}else{
$disabled_flag = "";
}
if(isset($articolo)){
$anno = post_db($articolo->edanno);
$num = post_db($articolo->ednumero);
$mese = post_db($articolo->edmese);
$anso = post_db($articolo->edannoreale);
$autore = post_db($articolo->fotoautore);
$desc = post_db($articolo->fotodesc);
$foto = post_db($articolo->fotocover);
$lockunlock = $articolo->attiva;
$hidden = "<input name='azione' type='hidden' value='modedizione'/>\n"
."<input name='id' type='hidden' value='".$id."'/>\n"
."<input name='edizione_fix' type='hidden' value='".$anno.":".$mese.":".$anso."'/>\n";
$datied = "".$anno.":".$mese.":".$anso;
$_SESSION['val_edizione'] = $datied;
}else{
$hidden = "<input name='azione' type='hidden' value='nuovaedizione'/>\n";
echo("<form name='new_formedizione' id='new_formedizione' action='smista_insert.php' method='post' enctype='multipart/form-data'>\n");
echo $hidden;
if(isset($id) && $foto!=""){
list($thumbwidth, $thumbheight, $thumbtype, $thumbattr) = getimagesize(THUMB_FOLDER.$foto);
echo "\n[img]".THUMB_FOLDER.$foto."[/img]";
echo("<input name='ediz[fotocover]' type='hidden' value='".$foto."'/>\n");
echo'<a href="smista_delete.php?imgact=delcover&eid='.$id.'" class="delcover" title="Elimina copertina">[img]'.SYSIMG_FOLDER.'icon-delete.png[/img]'
.'</a>';
}else{
echo("<input name='userfile' size=50 type='file' value='".$foto."'/>\n");
}
echo("<div class='editright'>\n"
."<input type='submit' value='Modifica edizione' name='modifica' class='act'/>\n"
."</div>");
echo("</form>");
?>
Questo è il gestore del form:
Codice PHP:
<?php
$azione = pre_db($_POST['azione']);
if (isset($azione)){
switch($azione){
case "nuovaedizione":
$azione = "nuova_edizione";
$datiedizione = $_POST['edizione'];
$ediz = $_POST['ediz'];
$maschera = $_POST['maschera'];
$banner = $_POST['banner'];
break;
case "modedizione":
$azione = "modifica_edizione";
$datiedizione = $_POST['ediz'];
$maschera = $_POST['maschera'];
if(isset($_POST['edizione_fix'])){
$fix = $_POST['edizione_fix'];
}
$eid = $_POST['id'];
break;
}
}
if(isset($azione)){
$ok = false;
switch($azione){
case "nuova_edizione":
if(isset($_FILES[0])){
$my_uploader = new uploader;
$my_uploader->max_filesize(MAX_FILESIZE);
$my_uploader->max_image_size(MAX_COVER_W, MAX_COVER_H);
$success = $my_uploader->upload("userfile", "", DEFAULT_EXT);
if ($success) { $success = $my_uploader->save_file(COVER_PATH, OVERWRITE_MODE);
}
if ($success) { $file_name = $my_uploader->file['name'];
} else {
if($my_uploader->errors) { while(list($key, $var) = each($my_uploader->errors)){ // do action!!
log_action($key." ".$var, 2);
} }
}
createthumb("immagini/copertine/".$file_name, "immagini/icone/".$file_name, THUMB_MAX_W, THUMB_MAX_H);
}
$split = explode(":",$datiedizione);
$edanno = pre_db($split[0]); // $datiedizione['anno']
$edmese = pre_db($split[1]); // $datiedizione['mese']
$edannoreale = pre_db($split[2]); // $datiedizione['annosolare']
$ednumero = pre_db($split[1]); // $datiedizione['numero']
if($ednumero >=8 ){ $edmese = $ednumero + 1;}
$fotocover = pre_db($file_name);
$fotoautore = pre_db($ediz['fotografo']);
$fotodesc = pre_db($ediz['desc']);
$attiva = pre_db($ediz['attiva']);
$q = "INSERT INTO edizioni (edanno, edmese, edannoreale, ednumero, fotocover, image, fotoautore, fotodesc, attiva)
VALUES ('".$edanno."','".$edmese."','".$edannoreale."','".$ednumero."','".$fotocover."','".$image."','".$fotoautore."','".$fotodesc."','".$attiva."')";
$go = mysql_query($q) or die(log_action(mysql_error()));
$lastid = mysql_insert_id();
$ok = true;
break;
if(!createthumb("immagini/copertine/".$file_name, "immagini/icone/".$file_name, THUMB_MAX_W, THUMB_MAX_H)){
log_action("errore thumbnail per ".$file_name);
}
$fotocover = $file_name;
}else{
$fotocover = $datiedizione['fotocover'];
}
$split = explode(":",$fix);
$edanno = pre_db($split[0]); // $datiedizione['anno']
$edmese = pre_db($split[1]); // $datiedizione['mese']
$edannoreale = pre_db($split[2]); // $datiedizione['annosolare']
$ednumero = pre_db($split[1]); // $datiedizione['numero']
if($ednumero >=8 ){ $edmese = $ednumero + 1;}
$fotoautore = pre_db($datiedizione['fotografo']);
$fotodesc = pre_db($datiedizione['desc']);
$attiva = pre_db($datiedizione['attiva']);
$q = "UPDATE edizioni SET edanno='".$edanno."', edmese='".$edmese."', edannoreale='".$edannoreale."',
ednumero='".$ednumero."', fotocover='".$fotocover."', fotoautore='".$fotoautore."', fotodesc='".$fotodesc."',
attiva='".$attiva."' WHERE id='".$eid."' LIMIT 1;";
$go = mysql_query($q) or die(log_action(mysql_error()));
$ok = true;
break;
}
}
?>