Non riesco a fare un UPDATE

  • Creatore Discussione Creatore Discussione zenida
  • Data di inizio Data di inizio

zenida

Nuovo Utente
1 Giu 2011
5
0
0
Ragazzi sto usando il cms GDRCD5 di faber... ora però ho voluto aggiungere in fondo alla pagina delle news scorrevoli da parte dello staff.
Per il momento il testo che compare lo modifico manualmente dal codice, ma ora volevo far si che venisse caricato da un campo sul database SQL e creare, dunque, una gestione automatica dal sito web che modifica il valore sul database.

Riesco a leggere il campo e stamparlo in un box per vedere il messaggio attuale.
Poi ho creato un form con una casella di testo e un tasto invio per il submit

Il tasto invio mi costringe ad usare un altro file php con il quale effettuare l'Update
che purtroppo non riesco a capire come mai non funziona

Se faccio un update qualsiasi invece dal primo file il valore si modifica, dal secondo invece no :(

Questo è il primo file
Codice:
<!--Imposta Avviso Scorrevole a fondo pagina-->

<!-- Titolo della pagina -->
<div class="page_title">
   <h2>Avvisi Scorrevoli</h2>
</div>

<div class="area_centrale_contenuti">
	<?php
		/*Controllo permessi. (Almeno Moderatori)*/
		if ($_SESSION['permessi']<MODERATOR)
		{
			print '<div class="error">'.gdrcd_filter('out',$MESSAGE['error']['not_allowed']).'</div>';
		}
		else
		{
			/*Leggo l'avviso attuale dal database*/
			$messaggio = mysql_query("SELECT * FROM avviso_scorrevole WHERE id=1");
		
			/*Scrivo nel box l'avviso attuale*/
			$row=mysql_fetch_array($messaggio);
			print '<div class="gestione_avvisi">'.$row[descrizione].'</div>';
	?>
			<!--Creo il form per l'inserimento del nuovo avviso e
			passo il valore tramite la variabile "msg_avviso" al file "carica_avviso.inc.php"-->
			<form action="pages/carica_avviso.inc.php" name="txt_avviso" method="POST">
				Inserire nuovo avviso: <input type="text" name="msg_avviso">
				<input type="submit" value="Salva">
			</form>
	<?php
		}
	?>
</div>

Questo è il secondo file che viene richiamato dal primo
Codice:
<div class="area_centrale_contenuti">
	<?php
		$msg_avviso = $_POST['msg_avviso'];

		/*Modifico l'avviso attuale nel database*/
		$sql = "UPDATE avviso_scorrevole SET descrizione='$msg_avviso' WHERE id='1'";
		mysql_query($sql);
	?>
</div>
 
Dopo la funzione per la query aggiungi un pò di debug
PHP:
mysql_query("xxxxxx") or die(mysql_error());

e vedi qualè l'errore
 
alla fine ho risolto utilizzando un unico file che fa tutto... facendo l'update tramite una funzione

PHP:
<!--Imposta Avviso Scorrevole a fondo pagina-->

<!-- Titolo della pagina -->
<div class="page_title">
   <h2>Avvisi Scorrevoli</h2>
</div>

<div class="area_centrale_contenuti">
	<?php
		/*Controllo permessi. (Almeno Moderatori)*/
		if ($_SESSION['permessi']<MODERATOR)
		{
			print '<div class="error">'.gdrcd_filter('out',$MESSAGE['error']['not_allowed']).'</div>';
		}
		else
		{
			/*Stabilisco la funzione per aggiornare il db*/
			function aggiorna($news)
			{
				/*Modifico l'avviso attuale nel database*/
				$sql = "UPDATE avviso_scorrevole SET descrizione='$news' WHERE id='1'";
				mysql_query($sql);
				
				?>
					<!-- Ricarica la pagina -->
					<meta http-equiv="refresh" content="0">
				<?php
			}
			/*Leggo l'avviso attuale dal database*/
			$messaggio = mysql_query("SELECT * FROM avviso_scorrevole WHERE id=1");
		
			/*Scrivo nel box l'avviso attuale*/
			$row=mysql_fetch_array($messaggio);
			print '<div class="gestione_avvisi">'.$row[descrizione].'</div>';
	?>
			<!-- Creo il form per l'inserimento del nuovo avviso -->
			<form name="txt_avviso" action="" method="POST">
				Inserire nuovo avviso: <input type="text" name="msg_avviso" id="textfield">
				<input type="submit" name="esegui" value="Salva" id="button">
			</form>
		<?php
			/*Controllo che sia stato premuto il tasto "Salva", in caso affermativo viene richiamata la funzione*/
			if (isset($_POST['esegui']))
			{
				aggiorna($_POST['msg_avviso']);
			}
		}
		?>
</div>
 

Discussioni simili