Ciao a tutti!sto sclerando con uno script che fino a ieri funzionava correttamente, mentre ora non va più una mazza, e, sarà per il caldo o cos'altro, sto iniziando a prendere a martellate 'sto odioso pc.
Dunque cerco di spiegarvi il mio problema come meglio riesco.
In una pagina faccio creare dinamicamente delle textarea che avranno il nome di una lingua [es. italiano, inglese etc]. Le lingue vengono inserite in un db, e di conseguenza il numero delle textarea sarà uguale al numero delle lingue. Il mio problema riguarda la modifica di una news (in quanto nelle textarea vengono inserite le news).
Supponiamo di avere due lingue, appunto italiano ed inglese.
Fase di inserimento:
Nella pagina di amministrazione vedo due textarea nelle quali posso inserire le mie news; decido di inserire per ora solo la news in italiano, e quindi la textarea di inglese la lascio vuota.
Premo invio e giustamente mi viene inserita SOLO la news italiana, con rispettivi titolo, sottotitolo, data di pubblicazione.
Fase di modifica:
Dopo un pò di tempo voglio inserire la news in lingua inglese della news italiana che ho inserito sopra.
Recupero la news, mi si aprono sempre due textarea, la prima contiene la news in italiano, la seconda è giustamente vuota perché la news in inglese non mi era stata precedentemente inserita.
Modifico la mia news italiana e decido di mettere del testo anche nella news inglese. Ed è proprio quello che non mi va. Non mi inserisce nessuna nuova news, mentre se era già inserita questa viene modificata normalmente.
Nel mio codice ci sono diversi if che verificano se devo inserire la news o semplicemente modificarla, gli if sono giusti perché ho controllato ed entrano negli if giusti, solo che se devo inserirla sembra proprio che non mi venga passato il contenuto della textarea inglese.
codice:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
<link href="up.css" rel="stylesheet" type="text/css">
</head>
<body>
<?
include "../config.inc.php";
$connection = mysql_connect($db_host, $db_user, $db_password)or die("Errore nella connessione: ".mysql_error());
mysql_select_db($db_name, $connection);
$lingue = "SELECT * FROM lingue ORDER BY id ASC";
$r_lin = mysql_query($lingue)or die("Errore nell'estrazione delle lingue: ".mysql_error());
while ($row_lin = mysql_fetch_assoc($r_lin)){
$hidden = "hidden_".$row_lin[lingua];
$id = "id_".$row_lin[lingua];
echo "
<span class=\"font7\">".$$hidden."</span>
";
//MODIFICA DELLA NEWS QUANDO LA DATA NON E' PRESENTE
if ($$hidden == '1' && $data == ''){
$titolo = "titolo_".$row_lin[lingua];
$sottotitolo = "sottotitolo_".$row_lin[lingua];
$update = "UPDATE news SET titolo = '".$$titolo."', sottotitolo = '".$$sottotitolo."', testo = '".$$row_lin[lingua]."' WHERE id LIKE '".$$id."' AND lingua LIKE '$row_lin[id]'";
echo $update;
//mysql_query($update)or die("Errore durante l'aggiornamento: ".mysql_error());
}
//MODIFICA DELLA NEWS SE QUESTA E' GIA' INSERITA IN ELENCO
elseif ($$hidden == '1'){
list ($giorno, $mese, $anno) = explode('/', $data);
$data = $anno.'-'.$mese.'-'.$giorno;
$titolo = "titolo_".$row_lin[lingua];
$sottotitolo = "sottotitolo_".$row_lin[lingua];
$update = "UPDATE news SET titolo = '".$$titolo."', sottotitolo = '".$$sottotitolo."', testo = '".$$row_lin[lingua]."', data = '$data' WHERE id LIKE '".$$id."' AND lingua LIKE '$row_lin[id]'";
mysql_query($update)or die("Errore durante l'aggiornamento: ".mysql_error());
}
//INSERIMENTO DELLA NEWS SE QUESTA NON E' PRESENTE IN ELENCO
elseif ($$hidden == '0'){
echo $row_lin[lingua];
echo $$row_lin[lingua];
}
}
if (isset($r_lin) && is_resource($r_lin)) mysql_free_result($r_lin);
if (isset($re) && is_resource($re)) mysql_free_result($re);
?>
<div align="left" class="content">Aggiornamento avvenuto correttamente.
Torna all'elenco delle news</div>
</body>
</html>
Notate l'ultimo elseif dove mi entra se devo inserire la news. Mi entra e mi scrive il nome della lingua che è inglese ma se io gli dico di fare scrivere $inglese che è la textarea non mi scrive nulla. Perchè questo strano comportamento che mi sta facendo dannare??
Notare inoltre che uso lo stesso identico script da un'altra parte e funziona!!
Mi scuso se mi sono dilungato oltre, ma ho cercato di spiegarvi per bene il mio problema...ringrazio chi avrà tempo e voglia di aiutarmi.