|
|
|
|
Strumenti |
23-02-2010, 09:02 | #1 |
Senior Member
Iscritto dal: May 2001
Messaggi: 589
|
[PHP]Problema lettere
Salve!
Sto installando in sistema di news in php su un sito, e ho questo problema: se nella notizia che voglio inserire ci sono lettere accentate, quando le invio ottengo un errore: "bad request Your browser sent a request that this server could not understand." non mi era mai capitata questa cosa... |
23-02-2010, 17:58 | #2 |
Senior Member
Iscritto dal: Aug 2002
Messaggi: 4371
|
Dovresti dare qualche indicazione in più sul codice che stai usando.
Ciao. |
23-02-2010, 18:22 | #3 |
Senior Member
Iscritto dal: May 2001
Messaggi: 589
|
allora... il file dove inserisco le news è questo, sezione add_art (c'è anche un file che si chiama crea_art e mi sa anche qualcos'altro in mezzo...):
Codice:
//includo i soliti file che mi servono require("./config.inc.php"); require("./admin_functions.php"); //funzione per controllare il log control_log(); //seleziono i settings $query_setting = @mysql_query("SELECT * FROM $tab_settings",$db_accesso); //uso extract per abbreviare la cosa @extract(mysql_fetch_assoc($query_setting)); //array di controllo per i campi obbligatori $array_control = array ( "art_titolo","art_visite","art_stampa","art_download","art_datacrea", "art_datauscita","votoup","votodown" ); $limite =& $limit_art_admin; $limite = ($limite == 0) ? 10 : $limite; //lunghezza minima delle parole da cercare $min_leng = MIN_INDICIZZA; //lunghezza massima della parole da cercare $max_leng = MAX_INDICIZZA; //codice per il blocco nel preview $block = PREVIEW_BLOCK; // includo l'header include("$admin_tempdir/head_admin.php"); //inizio della cella centrale eval("printtemp(\"".gettemp("$admin_tempdir/tab_main_central.php")."\");"); //inzio switch switch ($_GET["action"]) { default: //controllino veloce if (!empty($_GET["idcat"])) { //faccio ulrdecode del nome della categoria if (!empty($_GET["cat"])) { $categoria = urldecode(strtoupper(formatta($_GET["cat"],"n"))); $cat = urlencode($_GET["cat"]); } else { $categoria = "numero ".$_GET["idcat"]; $cat = "N.D."; } //query per selezionare gli articoli $query = @mysql_query(" SELECT $tab_art.idart, $tab_art.idcat, $tab_art.art_titolo, $tab_art.art_datauscita, $tab_art.art_mostra, $tab_user.iduser, $tab_user.username AS autore, FROM_UNIXTIME($tab_art.art_datauscita,'%d/%m/%Y') AS data FROM $tab_art LEFT JOIN $tab_user ON $tab_art.art_poster = $tab_user.iduser WHERE $tab_art.idcat = '$_GET[idcat]' ORDER BY $tab_art.art_datauscita DESC limit $_GET[step],$limite"); //query paginazione $query_tot=@mysql_query("SELECT 1 FROM $tab_art WHERE idcat = '$_GET[idcat]'"); $num_record= mysql_num_rows($query_tot); $num_pagine=intval($num_record/$limite); if ($num_record%$limite) { $num_pagine++; } //eval dell'inizio tabella eval("printtemp(\"".gettemp("$admin_tempdir/tab_start_art_bycat.php")."\");"); //vedo se c'è almeno un articolo if ($num_record > 0) { // inizio ciclo while while ($array = mysql_fetch_assoc($query)) { //conto le pagine per ogni articolo $query_total_page = @mysql_query("SELECT 1 FROM $tab_art_pag WHERE idart = '$array[idart]'"); $totale_pagine = mysql_num_rows($query_total_page); #============ LAVORO SULLE VARIABILI =============# $array["art_titolo"] = formatta($array["art_titolo"],"n"); $status = ($array["art_datauscita"] <= $now && $array["art_mostra"] == "y") ? "on.gif" : "off.gif"; //vedo l'autore if (isset($array["autore"])) { $array["autore"] = "<a class=\"piccolo\" href=\"users.php?action=edit_user&iduser=$array[iduser]\" title=\"Modifica il profilo\">$array[autore]</a>"; } else { $array["autore"] = "<font class=\"piccolo\" color=red>".DEFAULT_WRITER."</font>"; } //ciclo per cambiare colore alle tabelle $bgcolor = (($i%2)==0) ? $color_ad1 : $color_ad2; //indice $i++; #============ FINE LAVORO SULLE VARIABILI ========# //eval del trtd dei file eval("printtemp(\"".gettemp("$admin_tempdir/trtd_tab_art_bycat.php")."\");"); } //fine ciclo while } else { // fine if $num_record > 0 //template readfile("$admin_tempdir/no_art.php"); } // fine else di if $num_record > 0 //template eval("printtemp(\"".gettemp("$admin_tempdir/tab_end_art_bycat.php")."\");"); // paginazione if (!isset($num_pagine)) $num_pagine = 0; if ($num_pagine > 1) paginazione ( "articoli.php?idcat=$_GET[idcat]&cat=$cat&", 0, "95%", "center", "piccolo", "10px 0","Pagina"); } else { //fine controllo $_GET["idcat"] $messaggio = "Manca l'ID della categoria"; $target = "categorie.php"; //template eval("printtemp(\"".gettemp("$admin_tempdir/tab_redi.php")."\");"); } break; /*----------*/ case "add_art" : if (!isset($_GET["idcat"])) $_GET["idcat"] = 0; // PARTE RELATIVA ALLA TABELLA DEGLI SMILIES ($parse_smile == "y") ? include("tabella_smilies.php") : $tabella_smilie = "<br /><br />"; //query per selezionare le categorie $query_select_cat = @mysql_query("SELECT idcat, cat_nome FROM $tab_cat WHERE subcat = '0' ORDER BY cat_nome"); $catoption_cat = "<select name=\"idcat\" class=\"tendina\">"; //nel ciclo faccio un'altra query per selezionare le relative subcat while ($array_cat = mysql_fetch_assoc($query_select_cat)) { //funzione per tagliare i nomi troppo lunghi nel menù a tendina $array_cat["cat_nome"] = cut_parola($array_cat["cat_nome"],CUT_CAT_ADMIN); $query_sub = @mysql_query("SELECT idcat, cat_nome FROM $tab_cat WHERE subcat = '$array_cat[idcat]'"); if (isset($array_cat["idcat"]) && ($array_cat["idcat"] == $_GET["idcat"])) { $catoption_cat.=" <option value=\"$array_cat[idcat]\" selected>- ".formatta($array_cat["cat_nome"],"n")."</option>"; } else { $catoption_cat.=" <option value=\"$array_cat[idcat]\">- ".formatta($array_cat["cat_nome"],"n")."</option>"; } //ciclo per le relative subcat while ($array_sub = mysql_fetch_assoc($query_sub)) { //funzione per tagliare i nomi troppo lunghi nel menù a tendina $array_sub["cat_nome"] = cut_parola($array_sub["cat_nome"],CUT_CAT_ADMIN); if (isset($array_sub["idcat"]) && ($array_sub["idcat"] == $_GET["idcat"])) { $catoption_cat.=" <option value=\"$array_sub[idcat]\" style=\"background:#f0f0f0; color:#000;\" selected> -- ". formatta($array_sub["cat_nome"],"n") ."</option>"; } else { $catoption_cat.=" <option value=\"$array_sub[idcat]\" style=\"background:#f0f0f0; color:#000;\"> -- ". formatta($array_sub["cat_nome"],"n") ."</option>"; } } } $catoption_cat.="</select>"; //adesso vedo se far selezionare gli autori all'admin oppure metterlo predefinito if (isset($_SESSION["level"]) && $_SESSION["level"] == 1) { //questo mi serve per il menù a tendina $_GET["iduser"] = $_SESSION["iduser"]; //query per selezionare i nomi dei poster $query_select_two[1] = @mysql_query(" SELECT iduser, username FROM $tab_user WHERE email_approved = 'y' AND activation_code = '0' ORDER BY iduser"); //funzione per il menù a tendina select_two("1","array_select_poster","art_poster","iduser","username","iduser","2"); //in base al livello dell' utente metto un link alla funzione javascript oppure direttamente al profilo $href = "javascript:userprof();"; } else { //query per selezionare l'autore singolo $query_select_poster = @mysql_query("SELECT iduser, username FROM $tab_user WHERE iduser = '$_SESSION[iduser]'"); $risultato = mysql_num_rows($query_select_poster); if ($risultato != 0) { @extract(mysql_fetch_assoc($query_select_poster)); } else { $username = DEFAULT_WRITER; $iduser = 0; } $catselect_two[1] = "<font class=\"grassetto\">$username</font>"; $catselect_two[1] .= "<input type=\"hidden\" name=\"art_poster\" value=\"$iduser\">"; //in base al livello dell' utente metto un link alla funzione javascript oppure direttamente al profilo $href = "profile.php"; } //adesso vedo se aggiungere il check "mostra articolo" solo per amministratori e superredattori if ($_SESSION["level"] == 3) { $check_mostra_art = ""; } else { $mostra_y = "checked"; $mostra_n = ""; ob_start(); $check_mostra_art = eval("printtemp(\"".gettemp("$admin_tempdir/trtd_mostra_art.php")."\");"); $check_mostra_art = ob_get_contents(); ob_end_clean(); } //inserisco il modulo per inserire un nuovo file eval("printtemp(\"".gettemp("$admin_tempdir/form_add_art.php")."\");"); break; /*----------*/ case "insert_art": if (isset($_POST["flag"]) && isset($_POST["idcat"])) { //indice di controllo di alcuni campi $control_format_campi = 0; $control_campi_numerali = 0; //array per i campi non validi $array_control2 = array(); foreach ($_POST as $chiave => $valore) { if (in_array($chiave,$array_control)) { if (trim($_POST["$chiave"]) == "") { $control_format_campi++; //popolo l'array per vedere quali campi non vanno bene array_push($array_control2,$chiave); } } } if (!is_numeric($_POST["art_download"]) || !is_numeric($_POST["votodown"]) || !is_numeric($_POST["votoup"]) || !is_numeric($_POST["art_visite"]) || !is_numeric($_POST["art_stampa"])) { $control_campi_numerali ++; } if ($control_format_campi == 0) { if ($control_campi_numerali == 0) { ####### LAVORO SU ALCUNE VARIABILI ###### $data_c_ex = explode("/",$_POST["art_datacrea"]); $data_c_mk = mktime (0, 0, 0, $data_c_ex[1], $data_c_ex[0], $data_c_ex[2]); $data_u_ex = explode("/",$_POST["art_datauscita"]); $ora_u_ex = explode(":",$_POST["art_orauscita"]); $data_u_mk = mktime ($ora_u_ex[0], $ora_u_ex[1], $ora_u_ex[2], $data_u_ex[1], $data_u_ex[0], $data_u_ex[2]); ######################################### //controllino per vedere se gli articoli dei redattori devono essere moderatori if ($_SESSION["level"] == 1 || $_SESSION["level"] == 2) { $_POST["art_mostra"] =& $_POST["art_mostra"]; } elseif ($_SESSION["level"] == 3 && $user_moderation == "y") { $_POST["art_mostra"] = "n"; } else { $_POST["art_mostra"] = "y"; } $dati_art= @mysql_query("INSERT INTO $tab_art VALUES ( '', '$_POST[idcat]', '$_POST[art_titolo]', '$_POST[art_sottotitolo]', '$_POST[art_titolo_hp]', '$_POST[art_sottotitolo_hp]', '$_POST[art_description]', '$_POST[art_keywords]', '$_POST[art_immagine]', '$_POST[art_correlati]', '$_POST[art_linkutili]', '$_POST[art_poster]', '$_POST[art_visite]', '$_POST[art_stampa]', '$_POST[art_download]', '$data_c_mk', '$data_u_mk', '$_POST[art_mostra]', '$_POST[art_html]');"); //preparo l'id relazionato $idrelated_art = mysql_insert_id(); $ctr_query = mysql_affected_rows(); //se la prima query è andata if ($ctr_query > 0) { //vedo se è stata inserita la prima pagina if (trim($_POST["art_corpo"]) != "") { //query per il corpo della news @mysql_query ("INSERT INTO $tab_art_pag VALUES ( '', '$idrelated_art', '$_POST[idcat]', '1', '$_POST[art_corpo]')") ; } //unisco il testo da indicizzare $idrelated =& $idrelated_art; $idrelated_pag = mysql_insert_id(); $testo =& $_POST["art_corpo"]; $title =& $_POST["art_titolo"]; //funzione indicizza indicizza($testo,1,$title); //query per i voti @mysql_query("INSERT INTO $tab_voto VALUES ( '', '$idrelated', '$_POST[idcat]', '$_POST[votoup]', '$_POST[votodown]');"); /*query per selezionare il nome della categoria scelta*/ $query_cat = @mysql_query("SELECT cat_nome FROM $tab_cat WHERE idcat = '$_POST[idcat]'"); //uso extract per abbreviare la cosa @extract(mysql_fetch_assoc($query_cat)); //adesso vedo se fare il redirect per creare i file if ($redirect_insert == "n") { $messaggio = "Pagina inserita con successo!!"; $target = "articoli.php?idcat=$_POST[idcat]&cat=". addslashes(urlencode($cat_nome)); } else { $messaggio = "Pagina inserita con successo!! Attendi per i file statici"; $target = "crea_file.php?action=all&idcat=$_POST[idcat]&cat=". addslashes(urlencode($cat_nome)); } //template eval("printtemp(\"".gettemp("$admin_tempdir/general_tab.php")."\");"); } else { $messaggio = "Si sono verificati dei problemi. La pagina non è stata inserita!"; $target = "categorie.php"; //template eval("printtemp(\"".gettemp("$admin_tempdir/tab_redi.php")."\");"); } } else { //fine controllo $control_campi_numerali $messaggio = <<< print_code <div align="left"><font color="red"> Download Effettuati<br /> Visite<br /> Voti Up<br /> Voti down<br /> Stampa</font><br /><br /> Devono essere campi numerici </div> print_code; //tabella errore campi no numerici eval("printtemp(\"".gettemp("$admin_tempdir/tab_noredi.php")."\");"); } } else { //fine controllo $control_format_campi //inizio della tabella errore readfile("$admin_tempdir/error_empty_field_start.php"); foreach ($array_control2 as $value) { $value = str_replace("art_titolo","Titolo",$value); $value = str_replace("art_corpo","Testo",$value); $value = str_replace("tendina_idcat","Categoria",$value); $value = str_replace("art_download","Download Effettuati",$value); $value = str_replace("art_visite","Visite",$value); $value = str_replace("art_stampa","Visite",$value); $value = str_replace("votoup","Voti Up",$value); $value = str_replace("votodown","Voti Down",$value); $value = str_replace("art_datacrea","Data creazione",$value); $value = str_replace("art_datauscita","Data uscita",$value); //eval della tabella errore campi vuoti eval("printtemp(\"".gettemp("$admin_tempdir/error_empty_field.php")."\");"); } //fine della tabella errore readfile("$admin_tempdir/error_empty_field_end.php"); } } else { // fine dell'if di controllo $messaggio = "Manca la categoria"; $target = "categorie.php"; //template eval("printtemp(\"".gettemp("$admin_tempdir/tab_redi.php")."\");"); } break; /*----------*/ case "del_art": if (!empty($_GET["idart"])) { //controllo sui permessi if ($_SESSION["level"] == 3) { $query_art = @mysql_query(" SELECT art_poster FROM $tab_art WHERE idart = '$_GET[idart]'"); @extract(mysql_fetch_assoc($query_art)); } else { $art_poster = 0; } if ($_SESSION["level"] != 3 || $_SESSION["iduser"] == $art_poster) { //cancello i voti, i commenti, le pagine, l'articolo dalla tabella search, gli ip, i referer, l'articolo @mysql_query("DELETE QUICK FROM $tab_voto WHERE idart = '$_GET[idart]'"); @mysql_query("DELETE QUICK FROM $tab_com WHERE idart = '$_GET[idart]'"); @mysql_query("DELETE QUICK FROM $tab_art_pag WHERE idart = '$_GET[idart]'"); @mysql_query("DELETE QUICK FROM $tab_search WHERE idart = '$_GET[idart]'"); @mysql_query("DELETE QUICK FROM $tab_ip WHERE idart = '$_GET[idart]'"); @mysql_query("DELETE QUICK FROM $tab_ref WHERE idart = '$_GET[idart]'"); @mysql_query("DELETE QUICK FROM $tab_art WHERE idart = '$_GET[idart]'"); //setto la cat in caso non ci fosse(ad esempio quando si proviene dalla pagina statistiche) if (!isset($_GET["cat"])) $_GET["cat"] = ""; //adesso vedo se fare il redirect per creare i file if ($redirect_insert == "n") { $messaggio = "Pagina cancellata con successo!!"; //adesso vedo come reindirizzare l'utente if (isset($_GET["idcat"]) && !empty($_GET["idcat"]) && !empty($_GET["cat"])) { $target = "articoli.php?idcat=$_GET[idcat]&cat=$_GET[cat]"; } else { $target = "categorie.php"; } } else { $messaggio = "Pagina cancellata con successo!! Attendi per i file statici"; //adesso vedo come reindirizzare l'utente if (isset($_GET["idcat"]) && !empty($_GET["idcat"])) { $target = "crea_file.php?action=all&idcat=$_GET[idcat]&cat=$_GET[cat]"; } else { $target = "categorie.php"; } } //tabella! eval("printtemp(\"".gettemp("$admin_tempdir/general_tab.php")."\");"); } else { $messaggio = "Non puoi cancellare un record pubblicato da altri"; //tabella errore! eval("printtemp(\"".gettemp("$admin_tempdir/tab_noredi.php")."\");"); } } else { $messaggio = "Manca l'ID di riferimento"; $target = "categorie.php"; //template eval("printtemp(\"".gettemp("$admin_tempdir/tab_redi.php")."\");"); } break; /*----------*/ case "edit_art": if (!empty($_GET["idart"])) { // PARTE RELATIVA ALLA TABELLA DEGLI SMILIES ($parse_smile == "y") ? include("tabella_smilies.php") : $tabella_smilie = "<br /><br />"; //seleziono i dati dell'articolo $query = @mysql_query(" SELECT $tab_art.*, FROM_UNIXTIME($tab_art.art_datacrea,'%d/%m/%Y') AS data_crea, FROM_UNIXTIME($tab_art.art_datauscita,'%d/%m/%Y') AS data_uscita, FROM_UNIXTIME($tab_art.art_datauscita,'%H:%i:%s') AS ora_uscita, $tab_art_pag.art_corpo, $tab_art_pag.art_pagina, $tab_art_pag.idart_pag, $tab_voto.votoup, $tab_voto.votodown FROM $tab_art LEFT JOIN $tab_art_pag ON $tab_art.idart = $tab_art_pag.idart LEFT JOIN $tab_voto ON $tab_art.idart = $tab_voto.idart WHERE $tab_art.idart = '$_GET[idart]' ORDER BY $tab_art_pag.art_pagina"); $array = mysql_fetch_assoc($query); //variabile di controllo $control_var =& $array["art_titolo"]; //se non trovo risultato if (!empty($control_var)) { //query per selezionare la tendina delle categorie $query_select_cat = @mysql_query("SELECT idcat, cat_nome FROM $tab_cat WHERE subcat = '0' ORDER BY cat_nome"); $catoption_cat = "<select name=\"idcat\" class=\"tendina\">"; //nel ciclo faccio un'altra query per selezionare le relative subcat while ($array_cat = mysql_fetch_assoc($query_select_cat)) { //funzione per tagliare i nomi troppo lunghi nel menù a tendina $array_cat["cat_nome"] = cut_parola($array_cat["cat_nome"],CUT_CAT_ADMIN); $query_sub = @mysql_query("SELECT idcat, cat_nome FROM $tab_cat WHERE subcat = '$array_cat[idcat]'"); if (isset($array_cat["idcat"]) && ($array_cat["idcat"] == $_GET["idcat"])) { $catoption_cat.=" <option value=\"$array_cat[idcat]\" selected>- ".formatta($array_cat["cat_nome"],"n")."</option>"; } else { $catoption_cat.=" <option value=\"$array_cat[idcat]\">- ".formatta($array_cat["cat_nome"],"n")."</option>"; } //ciclo per le relative subcat while ($array_sub = mysql_fetch_assoc($query_sub)) { //funzione per tagliare i nomi troppo lunghi nel menù a tendina $array_sub["cat_nome"] = cut_parola($array_sub["cat_nome"],CUT_CAT_ADMIN); if (isset($array_sub["idcat"]) && ($array_sub["idcat"] == $_GET["idcat"])) { $catoption_cat.=" <option value=\"$array_sub[idcat]\" style=\"background:#f0f0f0; color:#000;\" selected> -- ". formatta($array_sub["cat_nome"],"n") ."</option>"; } else { $catoption_cat.=" <option value=\"$array_sub[idcat]\" style=\"background:#f0f0f0; color:#000;\"> -- ". formatta($array_sub["cat_nome"],"n") ."</option>"; } } } $catoption_cat.="</select>"; //adesso vedo se far selezionare gli autori all'admin oppure metterlo predefinito if (isset($_SESSION["level"]) && $_SESSION["level"] == 1) { //query per selezionare gli autori $query_select_poster = @mysql_query(" SELECT iduser, username FROM $tab_user WHERE email_approved = 'y' AND activation_code = '0' ORDER BY iduser"); $catselect_poster ="<select name=\"art_poster\" class=\"tendina\">\n <option value=\"0\">- ".DEFAULT_WRITER."</option>\n"; while ($array_poster = mysql_fetch_assoc($query_select_poster)) { if (isset($array_poster["iduser"]) && ($array_poster["iduser"] == $array["art_poster"])) { $catselect_poster .="<option value=\"$array_poster[iduser]\" selected>- $array_poster[username]</option>\n"; } else { $catselect_poster .="<option value=\"$array_poster[iduser]\">- $array_poster[username]</option>\n"; } } $catselect_poster .="</select>\n"; //in base al livello dell' utente metto un link alla funzione javascript oppure direttamente al profilo $href = "javascript:userprof();"; } else { //query per selezionare gli autori $query_select_poster = @mysql_query(" SELECT iduser, username FROM $tab_user WHERE iduser = '$array[art_poster]'"); $risultato = mysql_num_rows($query_select_poster); if ($risultato != 0) { @extract(mysql_fetch_assoc($query_select_poster)); $href = "profile.php"; } else { $username = DEFAULT_WRITER; $iduser = 0; $href = "javascript:userprof();"; } $catselect_poster = "<font class=\"grassetto\">$username</font>"; $catselect_poster .= "<input type=\"hidden\" name=\"art_poster\" value=\"$iduser\">"; } //===============================================\\ #============ LAVORO SULLE VARIABILI =============# if (empty($array["art_pagina"])) $array["art_pagina"] = 1; //formatto i vari campi usando un ciclo foreach ($array AS $key => $value) { $array[$key] = formatta_edit($array[$key]); } //preparo lo switch per il mostracat switch ($array["art_mostra"]) { case "y": $mostra_y = "checked"; $mostra_n = ""; break; case "n": $mostra_y = ""; $mostra_n = "checked"; break; } switch ($array["art_html"]) { case "y": $html_y = "checked"; $html_n = ""; break; case "n": $html_y = ""; $html_n = "checked"; break; } //adesso vedo se aggiungere il check "mostra articolo" solo per amministratori e superredattori if ($_SESSION["level"] == 3) { $check_mostra_art = ""; } else { ob_start(); $check_mostra_art = eval("printtemp(\"".gettemp("$admin_tempdir/trtd_mostra_art.php")."\");"); $check_mostra_art = ob_get_contents(); ob_end_clean(); } #============ FINE LAVORO SULLE VARIABILI ========# //parte iniziale della tabella di edit eval("printtemp(\"".gettemp("$admin_tempdir/form_edit_art_start.php")."\");"); //creo questa variabile per il logo $var_gif = ""; //logo da mostrare if (trim($array["art_immagine"]) != "") { $query_logo = @mysql_query("SELECT idlogo, logo_width, logo_height FROM $tab_loghi WHERE logo_nome='$array[art_immagine]'"); $array_logo = mysql_fetch_assoc($query_logo); if (isset($array_logo["idlogo"])) { $mostra_logo = "<img src=\"viewlogo.php?idlogo=$array_logo[idlogo] align=\"absmiddle\" border=\"1\" hspace=\"10\" width=\"$array_logo[logo_width]\" height=\"$array_logo[logo_height]\" alt=\"\">"; //tabella per mostrare il logo se c'è eval("printtemp(\"".gettemp("$admin_tempdir/form_edit_art_middle.php")."\");"); } else { $var_gif = "<font class=\"piccolo\" color=\"red\">[inesistente]</font>"; } } //inserisco il modulo per inserire un nuovo file eval("printtemp(\"".gettemp("$admin_tempdir/form_edit_art.php")."\");"); } else { $messaggio = "Nessuna pagina corrispondente"; //template eval("printtemp(\"".gettemp("$admin_tempdir/tab_noredi.php")."\");"); } } else { $messaggio = "Manca l'ID di riferimento"; $target = "categorie.php"; //template eval("printtemp(\"".gettemp("$admin_tempdir/tab_redi.php")."\");"); } break; /*----------*/ case "edita_art": //controllo sui permessi if ($_SESSION["level"] != 3 || $_SESSION["iduser"] == $_POST["art_poster"]) { if (isset($_POST["idcat"]) && !empty($_POST["idart"]) && isset($_POST["flag"])) { #============ LAVORO SULLE VARIABILI =============# //indice di controllo di alcuni campi $control_format_campi = 0; $control_campi_numerali = 0; //array per i campi non validi $array_control_edit = array(); foreach ($_POST as $chiave => $valore) { if (in_array($chiave,$array_control)) { if (trim($_POST["$chiave"]) == "") { $control_format_campi++; //popolo l'array per vedere quali campi non vanno bene array_push($array_control_edit,$chiave); } } } if (!is_numeric($_POST["art_download"]) || !is_numeric($_POST["votodown"]) || !is_numeric($_POST["votoup"]) || !is_numeric($_POST["art_visite"]) || !is_numeric($_POST["art_stampa"])) { $control_campi_numerali ++; } #============ FINE LAVORO SULLE VARIABILI ========# if ($control_format_campi == 0) { if ($control_campi_numerali == 0) { $data_c_ex = explode("/",$_POST["art_datacrea"]); $data_c_mk = mktime (0, 0, 0, $data_c_ex[1], $data_c_ex[0], $data_c_ex[2]); $data_u_ex = explode("/",$_POST["art_datauscita"]); $ora_u_ex = explode(":",$_POST["art_orauscita"]); $data_u_mk = mktime($ora_u_ex[0],$ora_u_ex[1],$ora_u_ex[2], $data_u_ex[1], $data_u_ex[0], $data_u_ex[2]); //controllino per vedere se gli articoli dei redattori devono essere moderati if ($_SESSION["level"] != 3) { $art_mostra = "art_mostra = '$_POST[art_mostra]',"; } else { $art_mostra = ""; } //update dei dati da inserire//art_mostra = '$_POST[art_mostra]', @mysql_query("UPDATE $tab_art SET idcat = '$_POST[idcat]', art_titolo = '$_POST[art_titolo]', art_sottotitolo = '$_POST[art_sottotitolo]', art_titolo_hp = '$_POST[art_titolo_hp]', art_sottotitolo_hp = '$_POST[art_sottotitolo_hp]', art_description = '$_POST[art_description]', art_keywords = '$_POST[art_keywords]', art_immagine = '$_POST[art_immagine]', art_correlati = '$_POST[art_correlati]', art_linkutili = '$_POST[art_linkutili]', art_poster = '$_POST[art_poster]', art_visite = '$_POST[art_visite]', art_stampa = '$_POST[art_stampa]', art_download = '$_POST[art_download]', art_datacrea = '$data_c_mk', art_datauscita = '$data_u_mk', $art_mostra art_html = '$_POST[art_html]' WHERE idart = '$_POST[idart]'") or die(mysql_error()); //adesso vedo se fare un nuovo inserimento o un update if (trim($_POST["art_corpo"]) != "") { if (trim($_POST["idart_pag"]) == "") { @mysql_query("INSERT INTO $tab_art_pag VALUES ( '', '$_POST[idart]', '$_POST[idcat]', '1', '$_POST[art_corpo]')"); //unisco il testo da indicizzare $idrelated =& $_POST["idart"]; $idrelated_pag = mysql_insert_id(); $title =& $_POST["art_titolo"]; $testo =& $_POST["art_corpo"]; indicizza($testo,1,$title); } else { //query per la prima pagina @mysql_query("UPDATE $tab_art_pag SET idcat = '$_POST[idcat]', art_corpo = '$_POST[art_corpo]' WHERE idart_pag = '$_POST[idart_pag]'") or die(mysql_error()); //unisco il testo da indicizzare $idarticolo =& $_POST["idart"]; $idart_pag =& $_POST["idart_pag"]; $title =& $_POST["art_titolo"]; $testo =& $_POST["art_corpo"]; reindicizza($testo,1,$title); } } else { if (trim($_POST["idart_pag"]) != "") { @mysql_query("DELETE QUICK FROM $tab_art_pag WHERE idart_pag = '$_POST[idart_pag]'"); } } //query per i voti @mysql_query("UPDATE $tab_voto SET idcat = '$_POST[idcat]', votoup = '$_POST[votoup]', votodown = '$_POST[votodown]' WHERE idart = '$_POST[idart]'"); /*query per selezionare il nome della categoria scelta (si poteva evitare ma visto che Mysql è così veloce... */ $query_cat = @mysql_query("SELECT cat_nome FROM $tab_cat WHERE idcat = '$_POST[idcat]'"); //uso extract per abbreviare la cosa @extract(mysql_fetch_assoc($query_cat)); //adesso vedo se fare il redirect per creare i file if ($redirect_insert == "n") { $messaggio = "Pagina modificata con successo!!"; $target = "articoli.php?idcat=$_POST[idcat]&cat=". addslashes(urlencode($cat_nome)); } else { $messaggio = "Pagina modificata con successo!! Attendi per i file statici"; $target = "crea_file.php?action=all&idcat=$_POST[idcat]&cat=". addslashes(urlencode($cat_nome)); } //template eval("printtemp(\"".gettemp("$admin_tempdir/general_tab.php")."\");"); } else { //fine controllo $control_campi_numerali $messaggio = <<< print_code <div align="left"><font color="red"> Download Effettuati<br /> Visite<br /> Voti Up<br /> Voti down<br /> Stampa</font><br /><br /> Devono essere campi numerici </div> print_code; //tabella errore campi no numerici eval("printtemp(\"".gettemp("$admin_tempdir/tab_noredi.php")."\");"); } } else { //fine controllo $control_format_campi //inizio della tabella errore readfile("$admin_tempdir/error_empty_field_start.php"); foreach ($array_control_edit as $value) { $value = str_replace("art_titolo","Titolo",$value); $value = str_replace("art_corpo","Testo",$value); $value = str_replace("tendina_idcat","Categoria",$value); $value = str_replace("art_download","Download Effettuati",$value); $value = str_replace("art_visite","Visite",$value); $value = str_replace("art_stampa","Visite",$value); $value = str_replace("votoup","Voti Up",$value); $value = str_replace("votodown","Voti Down",$value); $value = str_replace("art_datacrea","Data creazione",$value); $value = str_replace("art_datauscita","Data uscita",$value); //eval della tabella errore campi vuoti eval("printtemp(\"".gettemp("$admin_tempdir/error_empty_field.php")."\");"); } //fine della tabella errore readfile("$admin_tempdir/error_empty_field_end.php"); } } else{ // fine dell'if di controllo $messaggio = "Manca l'ID di riferimento o l'ID della categoria"; $target = "categorie.php"; //template eval("printtemp(\"".gettemp("$admin_tempdir/tab_redi.php")."\");"); } } else { $messaggio = "Non puoi modificare un record pubblicato da altri"; //tabella errore! eval("printtemp(\"".gettemp("$admin_tempdir/tab_noredi.php")."\");"); } break; /*----------*/ case "toapprove": if ($_SESSION["level"] == 1 || $_SESSION["level"] == 2) { //template eval("printtemp(\"".gettemp("$admin_tempdir/tab_start_art_toapprove.php")."\");"); //seleziono gli articoli da approvare $query_art_toapprove= @mysql_query("SELECT $tab_art.idart, $tab_art.idcat, $tab_cat.cat_nome, $tab_art.art_titolo, $tab_user.iduser, $tab_user.username AS autore, FROM_UNIXTIME($tab_art.art_datauscita,'%d/%m/%Y') AS data FROM $tab_art LEFT JOIN $tab_cat ON $tab_art.idcat = $tab_cat.idcat LEFT JOIN $tab_user ON $tab_art.art_poster = $tab_user.iduser WHERE $tab_user.userlevel = '3' AND ($tab_art.art_mostra = 'n' OR $tab_art.art_datauscita > '$now')"); $num_record= mysql_num_rows($query_art_toapprove); //vedo se c'è almeno un record inserito if ($num_record > 0) { while ($array = mysql_fetch_assoc($query_art_toapprove)) { //conto le pagine per ogni articolo $query_total_page = @mysql_query("SELECT 1 FROM $tab_art_pag WHERE idart = '$array[idart]'"); $totale_pagine = mysql_num_rows($query_total_page); #============ LAVORO SULLE VARIABILI =============# $array["art_titolo"] = formatta($array["art_titolo"],"n"); $cat = urlencode($array["cat_nome"]); //ciclo per cambiare colore alle tabelle $bgcolor = (($i%2)==0) ? $color_ad1 : $color_ad2; //indice $i++; #============ FINE LAVORO SULLE VARIABILI ========# //eval del trtd dei file eval("printtemp(\"".gettemp("$admin_tempdir/trtd_tab_art_toapprove.php")."\");"); } //template mediano di chiusura readfile("$admin_tempdir/tab_end_art_toapprove.php"); } else { // fine if $num_record > 0 //template readfile("$admin_tempdir/no_art.php"); } // fine else di if $num_record > 0 //template readfile("$admin_tempdir/tab_end.php"); } else { $messaggio = "Non puoi entrare in questa sezione"; //tabella errore! eval("printtemp(\"".gettemp("$admin_tempdir/tab_noredi.php")."\");"); } break; /*----------*/ case "approveall": //questi indici mi servono per controllare il risultato della query $ctr_query = 0; $ctr_query_i = 0; if ($_SESSION["level"] == 1 || $_SESSION["level"] == 2) { //controllo che sia stata selezionato almeno un record if (empty($_POST["selected_art"])) { $messaggio = "Attenzione! Non hai selezionato nessun record"; //template eval("printtemp(\"".gettemp("$admin_tempdir/tab_noredi.php")."\");"); //controllo che sia stata scelta un'operazione } elseif ($_POST["operation_todo"] == 0) { $messaggio = "Attenzione! Non hai selezionato nessuna operazione"; //template eval("printtemp(\"".gettemp("$admin_tempdir/tab_noredi.php")."\");"); } else { //adesso switcho le varie operazioni disponibili switch ($_POST["operation_todo"]) { default: $message = "approvati"; $query = "UPDATE $tab_art SET art_datauscita = '$now', art_mostra = 'y'"; break; case "1": $message = "approvati"; $query = "UPDATE $tab_art SET art_datauscita = '$now', art_mostra = 'y'"; break; case "2": $message = "cancellati"; $query = "DELETE FROM $tab_art"; break; } foreach ($_POST["selected_art"] AS $idart) { $query_com = @mysql_query("$query WHERE idart = '$idart'"); $ctr_query += mysql_affected_rows(); $ctr_query_i++; } //controllo che la query sia andata a buon fine if ($ctr_query == $ctr_query_i) { //adesso vedo se fare il redirect per creare i file if ($redirect_insert == "n") { $messaggio = "Record $message con successo!!"; $target = "main.php"; } else { $messaggio = "Record $message con successo!! Attendi per i file statici"; $target = "crea_file.php?action=all&main=ok"; } //template eval("printtemp(\"".gettemp("$admin_tempdir/general_tab.php")."\");"); } else { $messaggio = "Attenzione! Non tutti i record sono stati $message!"; $target = "main.php"; //tabella errore! eval("printtemp(\"".gettemp("$admin_tempdir/tab_redi.php")."\");"); } } } else { $messaggio = "Non puoi entrare in questa sezione"; //tabella errore! eval("printtemp(\"".gettemp("$admin_tempdir/tab_noredi.php")."\");"); } break; } //fine dello switch //chiudo la connessione che fa freddo mysql_close ($db_accesso); //footer readfile("$admin_tempdir/foot_admin.php"); ?> |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:36.