[mysql] non funziona UPDATE tab SET etc.

elgabs

Nuovo Utente
11 Apr 2005
11
0
0
aiuto aiuto!

sto facendo un - credo - stupidissimo pannellino di amministrazione news, composto da due tabelle mysql (autori e news); iquando inserisco le notizie non dà nessun problema, si connette al database tranquillamente e le aggiunge immediatamente.

Quando poi voglio modificarne una carico la pagina (modifi.php) in cui si vedono tutti gli articoli inseriti e si sceglie quello da modificare, si va allora in una pagina che contiene una form (change.php) che è tale e quale a quella che contiene la form di inserimento di una nuova notizia; apporto le modifiche necessarie e mi compare il mio bravo avviso che l'articolo è stato modificato correttamente, a seguito della query:

$query="UPDATE news SET titolo='$_POST[titolo]', testo='$_POST[testo]', data='$_POST[data]', nome='$_POST[autore]' WHERE id='$_POST[id]'";



In realtà i campi della tabella news sui quali l'update dovrebbe operare non vengono minimamente intaccati...

quale potrebbe essere il problema? C'entra l'avere una vecchia versione di php (4.2.3.)? oppure sbaglio sintassi?

grazie a chiunque mi dia anche solo un indizio!!!
elisa
 

elgabs

Nuovo Utente
11 Apr 2005
11
0
0
mannaggia...

niente da fare...

mi dà l'avviso che l'articolo è stato modificato correttamente ma nulla... è come se non andasse proprio a toccare il db..
è possibile che il problema sia nel resto del codice? (credo sia strano, lo sto riadattando da un manuale...)

___________________________________________________

<? include("top_foot.inc.php");
include("config.inc.php");
top();
if ($pass != $password):
echo "Password errata";

elseif (trim($_POST[titolo]) == "" OR trim($_POST[testo]) == ""):
echo "I campi Titolo e Testo devono essere riempiti";

else:
$_POST[titolo] = addslashes(stripslashes($_POST[titolo]));
$_POST[autore] = addslashes(stripslashes($_POST[autore]));
$_POST[mail] = addslashes(stripslashes($_POST[mail]));
$_POST[testo] = addslashes(stripslashes($_POST[testo]));

$_POST[titolo] = str_replace("<", "&lt;", $_POST[titolo]);
$_POST[titolo] = str_replace(">", "&gt;", $_POST[titolo]);
$_POST[autore] = str_replace("<", "&lt;", $_POST[autore]);
$_POST[autore] = str_replace(">", "&gt;", $_POST[autore]);
$_POST[testo] = str_replace("<", "&lt;", $_POST[testo]);
$_POST[testo] = str_replace(">", "&gt;", $_POST[testo]);
$_POST[testo] = nl2br($_POST[testo]);

$_POST[data] = mktime("0", "0", "0", $mese, $giorno, $anno);


$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");


$titolo=$_POST['titolo'];
$testo=$_POST['testo'];
$data=$_POST['data'];
$autore=$_POST['autore'];
$id=$_POST['id'];

$query="UPDATE news SET titolo='$titolo', testo='$testo',data='$data',nome='$autore' WHERE id='$id'";


if (mysql_query($query, $db))
echo "L'articolo è stato modificato correttamente";
else
echo "Erorre durante l'inserimento
$query";
endif;
foot();
?>


scusami se ti assillo , ma sono tre giorni che mi arrabbatto...
grazie di nuovo
elisa
 

elgabs

Nuovo Utente
11 Apr 2005
11
0
0
occhei capo!

mmm interessante!

credo che farò queste modifiche anche agli altri script che ho scritto!!

grazie di nuovo
elisa
 

elgabs

Nuovo Utente
11 Apr 2005
11
0
0
dunque...

niente da fare finora, ho apportato le modifiche che mi hai sugggerito,ma nulla!!!

temo di aver commesso qualche casino allora nella pagina che contiene la form...

scusami se te la posto, ma vedo che hai un occhio attentissimo (e non lo dico per lisciarti :dipser: ... ma perché sono un pò incasinata e ad ogni aiuto mi ci appiglio ... :lunatico: )

________________________________________________
//pagina con form per modifica notizia - change.php
<?
include ("config.inc.php");
include ("top_foot.inc.php");

//intestazione
top();
?>

<form method=post action=changeit.php>
Titolo:<br>
<input type=text size=40 name=titolo><br>
<br>
Data:<br>
<select name=giorno>
<?
for ($i=1; $i<=31; $i++)
echo "<option value=$i>$i";
?>
</select>
<select name=mese>
<option value=1>Gennaio
<option value=2>Febbraio
<option value=3>Marzo
<option value=4>Aprile
<option value=5>Maggio
<option value=6>Giugno
<option value=7>Luglio
<option value=8>Agosto
<option value=9>Settembre
<option value=10>Ottobre
<option value=11>Novembre
<option value=12>Dicembre
</select>
<select name=anno>
<option value=2005>2005
<option value=2006>2006
</select><br>
<br>
Autore:<br>
<input type=text size=40 name=autore><br>
<br>
E-mail:<br>
<input type=text size=40 name=mail><br>
<br>
Testo:<br>
<textarea cols=40 rows=30 name=testo></textarea><br>
<br>
Password:<br>
<input type=password size=40 name=pass><br>

<br> <input type=submit value=Invia> </form>
<?
// chiusura pagina
foot();
?>
____________________________________________________

a questo punto, visto che ti scoccio 30, ti scoccio 31!!

ti mando anche la pagina che mostra tutti gli articoli inseriti e porta alla pagina con la form
____________________________________________________
//pagina che estrae dal db tutti gli articoli e permette di scegliere quello da modificare

<?
include("top_foot.inc.php");
include("config.inc.php");
top();

$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");



$query = "SELECT id, data, titolo FROM news ORDER BY data";

$result = mysql_query($query, $db);
while ($row = mysql_fetch_array($result))
{ echo "<a href=\"change.php?id=$row[id]\">" . date("j/n/y", $row[data]) . " - $row[titolo]</a><br>"; }

echo "<a href=search.php>Cerca negli articoli</a>";
foot();
?>
___________________________________________________

Detto ciò, ti chiedo veramente scusa per la sfrontatezza, e ti ringrazio per l'attenzione (credimi, in genere lancio urla disperate nei forum solo per rassegnazione... :byebye: )

elisa
 

elgabs

Nuovo Utente
11 Apr 2005
11
0
0
ancora nulla però

ciao open-think!
ancora e sinceramente grazie per l'aiuto! ho fatto tutte le modifiche e ancora non riesco a "scrivere" sul database.

Sto cercando un pò in giro altri script per la gestione delle news e ho visto che intanto sono molto più complessi di ste quattro righe di codice che non riesco a far funzionare (evabbé... :ister: ), ma soprattutto ho notato una cosa.

In tutti i vari pannelli di amministrazione quando si clicca sulla sezione "modifica new" succede questo: compare la stessa form di quando si inserisce per la prima volta un articolo ma nei campi da modificare compare il testo da modificare. In pratica mi sembra che la form estragga dal database i dati attuali e li mostra all'utente nei campi della form per essere così modificati.

Credi che questa sia una discriminante del non-funzionamento dello script?

Inoltre ho notato che le modifiche che tu mi hai consigliato sono per un codice più corretto rispetto a quello usato da me (e tu dirai: bella scoperta, e sennò mica te le dicevo... :jolly: ), tuttavia le pagine che inseriscono nuovi articoli nel db sono scritte nello stesso vecchio modo che tu mi hai corretto (e che io ho subito imparato...) e funzionano, nel senso che la notizia viene effettivamente inserita nel db.

Perché non riesco a modificarle, allora?

Ti ringrazio di nuovo per l'attenzione (e anche e soprattutto per quello che sto imparando... gh!!)

elisa
 

elgabs

Nuovo Utente
11 Apr 2005
11
0
0
che dire...

eccolo qua il mio pastroochio...

(graziegraziegrazie!!!)

allora, la cartella è così composta:
insert contiene la form per inserire un nuovo articolo e viene elaborata da save;

config.inc contiene i dati per la connessione al db e install esegue la creazione del db

all visualizza tutti gli articoli presenti

search e result si riferiscono a una ricerca nel db (ma non mi funzionano..)

___________________________________________________

i file che ti ho elencato sopra sono quelli che ho ripreso dal manuale; quelli che ti indico di seguito sono invece quelli che ho creato io basandomi su quegli stessi file e cambiando sostanzialmente le query...:

modifi visualizza tutti gli articoli da modificare (l'ho copiato biecamente da all) e porta a change, in cui compare una form tale e quale a insert :dipser:

changeit elabora - o almeno dovrebbe - change e ho cercato di ricalcare save...

tutto qua! è strano, credevo fosse una cosa più semplice, visto che le istruzioni necessarie sono proprio la base dell'interazione tra php e mysql...

thanks again (ormai non so più in quale lingua stupefarmi per la tua disponibilità... e non siamo neanche a natale!!! 0:) )

elisa
 

Allegati

  • notizie.zip
    6,8 KB · Visite: 174

elgabs

Nuovo Utente
11 Apr 2005
11
0
0
mannaggia!!

ciao open-think!

a dire il vero ho già provato praticamente tutti i link che mi hai segnalato... il fatto è che alcuni sono fin troppo elaborati per le mie esigenze, ma soprattutto mi piacerebbe imparare davvero come funzionano i vari script di interazione con mysql, oltre ad acquisire una certa sintassi...

(Php mi piace molto e lo sto studiando per lavorarci in modo serio...Il manuale che ho comprato - oltre ad essere abbastanza costoso - è anche vecchiotto (2001), è quello di David Tansley, ma non ricordo l'edizione; ho seguito finora le indicazioni là contenute... mah!)

Ad ogni modo immagino di aver combinato un bel casino visto il suggerimento che mi hai dato!!! :dipser:

Posso chiederti cosa è andato storto nello script? Anzi, c'è qualcosa che va bene nello script :jolly: ???

ehehe

A parte gli scherzi, non voglio assolutamente portarti via ancora più tempo di quello che già mi hai dedicato... Per cui se mi dici che è veramente da buttar via mi lancerò allo studio degli script che già si trovano online! Sai però la cosa che più mi da fastidio? E' che credevo di aver capito tutto almeno a grandi linee dei procedimenti base per interagire con Mr.Database... e quindi non mi capacito delperché non mi funziona! Mah!
scusa lo sfogo, e grazie di cuore per quello che hai fatto finora!!!

Elisa
 

elgabs

Nuovo Utente
11 Apr 2005
11
0
0
uau

uau! mi gaso perché alla fine mi è venuto anche a me in mente che il problema era nel passaggio dell'id quando si seleziona una notizia da modificare...

(capisco che per te magari era scontato, ma per me vedere che anche tu la pensi cos' mi sembra una certa conquista...)

che strada mi consigli per cercare il problema, manuali, tutorial, php.net?

grazie di nuovo

elisa
 

George

Nuovo Utente
17 Apr 2005
9
0
0
$query="UPDATE news SET titolo='".$_POST[titolo]."',eccc..WHERE id='".$_POST[id]."'";

Attento agli apici
ciao
 
Discussioni simili
Autore Titolo Forum Risposte Data
V Creare tabella mysql con php non funziona PHP 1
D [PHP-MySql] Update che non mi funziona PHP 2
L php mysql non salva solo id PHP 21
N Server mysql non raggiungibile da connessione esterna MySQL 1
simgia [MySQL] Risultato non esatto MySQL 3
trattorino Dati form non riconosciuti mysql PHP 37
B Mysql servizio non parte MySQL 0
K Non trovo l'errore! PDO MYSQL UPDATE PHP 2
Trapano Script php che non va più' con Versione MySQL: 5.6 PHP 5
max1850 Non si avvia più il MySql MySQL 1
K MYSQL non va in php 7 PHP 0
M Database MYSQL non viene caricato offline MySQL 0
MarcoGrazia [PHP][PDO][MySQL] Non registra ma non da nemmeno errori. PHP 0
L [php e mysql] selezionare sia i selezionati e i non selezionati PHP 1
MarcoGrazia [PDO][MySQL] L'update non avviene PHP 1
E cancellare immagini che non sono nel db mysql PHP 1
mauriziod [PL- MySQL] parametri che non vengono usati MySQL 4
filippino PHP e database... non MySQL!! PHP 2
H Problema con MySQL e PHP, dopo aver fatto una SELECT non ottengo alcun risultato PHP 7
D LAMP non riconosce script php-mysql PHP 2
A Controllo dati su MYSQL per non sovrascrivere PHP 1
neo996sps [PHP + MySQL] Merge di due tabelle Mysql differenti e non relazionate PHP 6
neo996sps [PHP + MySQL + Server Linux] Upload semi riuscito e query non eseguite PHP 2
emanuelevt mysql img (2) non trovo l'img PHP 4
M joomla: puntare ad un database oracle e non a mysql Joomla 6
T Ricevere i dati tramite MySQL: non funzionaaaa PHP 8
neo996sps Script per backup DB MySQL automatizzato che non va. PHP 8
A [MYSQL+PHP]Non riesco a fare la query!!!Penso sia semplice.. PHP 1
DeAndreon Php non inserisce dati in db mysql PHP 37
J Problema campo id in mysql - non trovo l'errore!!! PHP 1
A Dati MySQL non visualizzati nel Testo PHP 4
metalgemini Mysql non mi aggiorna un record PHP 2
Z non comprendo il significato dei campi delle tabelle in mysql MySQL 2
metalgemini Controllo su MySql non va PHP 5
cimice phpmyadmin & MySql non funzionano PHP 12
M Sintassi "personalizzata" per mysql workbench? MySQL 0
A Mysql MySQL 0
F Ricreare struttura php+mysql su Xampp Apache 0
M Array associativi php su 2 campi mysql PHP 10
Z Controllo giorni MYSQL PHP 0
L php mysql cerca e visualizza pagina PHP 0
L Mysql: Nascondere le pagine dopo una ricerca PHP 1
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
S problema con recupero dati tabella mysql PHP 2
E Progressbar estrazione dati da tabella mySQL Ajax 9
Z MySql injection PHP PHP 1
D controllare valore in tabella mysql PHP 0
A pulsante di update campo mysql con javascript Javascript 2
R Tutto su utf-8 ma ancora problemi con i caratteri speciali in mysql MySQL 1
T differenza fra mysql xampp e un mysql server Database 0

Discussioni simili