- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- [SCRIPT] News con utilizzo di un Database MySQL
-
Altalenante in questo periodo ma ci sono sempre.
-
Ho cercato di testare il tuo script, ma credo di sbagliare qualcosa visto che non sono esperto.
- ho collegato la tabella news al db
- la tabella ha un ID,date,titolo
- il campo date l'ho specificato come timestamp
Non riesco a leggere le news dove sbaglio?
Potresti aiutarmi?
-
Potrei avere lo script già pronto sia in html che in php con l'impaginazione?
Grazie
-
Ciao biagiosurace,
hai utilizzato l'install o hai creato manualmente il tutto?Hai inserito questo codice dove vuoi vedere le news?:
[php] <?php
require_once ("news/config.php");
include ("news/news.php");
?> [/php]
Se si, la pagina ha estenzione .php?Personalmente non ho ancora implementato l'impaginazione allo script, magari in futuro.
-
Ciao Samyorn,
Mi sono accorto che c'è qualcosa che non va per quanto riguarda la scrittura nel db della data di fine pubblicazione, la quale sembra essere impostata sempre a zero anche se si imposta un valore diverso in "modifica news".
A qualcun altro risulta?
Ho provato a dare un'occhiata al codice ma non ho trovato l'errore.
Puoi provare a verificare anche tu quando hai tempo?Inoltre volevo riscaricare il file .zip dello script nel primo post ma il link non funziona più.
Da dove si può riscaricare?Grazie.
Rodolfo
-
osservando attentamente il codice ho notato che nel file admin_action.php
nella riga 146 manca una "i"//adesso che tutti i campi sono pronti per l'invio al Db, passiamo ad aggiornare i campi relativi a questa news $sql="UPDATE news SET title='$title', text='$text', publish='$publish', publish_data='$publish_data', unpublish_data='$unpublsh_data' WHERE id='$id'"; $query=@mysql_query($sql) or die (mysql_error()); header("Location:admin.php?msg=modify"); // e torniamo alla pagina inviando l'indice del messaggio di avvenuta modifica
penso che l'errore che ho descritto nel post precedente dipenda da questo.
-
Confermo, corretta la "i" mancante ora funziona, inoltre aggiungo che spulciando i file admin.php e admin_action.php (adesso non ricordo esattamente in quale riga) mi sono accorto di un'altro errore in un else if
else if ($unpublish_data=="")
mancava il simbolo "$" davanti a unpublish_data==""
Spero possa essere d'aiuto a qualcun altro
Un saluto
-
Ciao!
Arrivo tardi eh?
La copia che ho io non presenta problemi. Ora verifico perché non ti fa più scaricare lo zip e controllo la copia che c'è online. Grazie della segnalazione.
[URL=http://www.giorgiotave.it/forum/gt-world/101972-forum-gt-disponibile-alle-versioni-per-telefoni-cellulari.html]Postato via Mobile
-
allora probabilmente sono io che inavvertitamente ho sporcato il codice.
Comunque guarda il link per scaricare lo zip in prima pagina che è interrotto!
Ciao
Rodolfo.
-
Già segnalato, risolveremo in breve.
-
ciao a tutti, sono nuovo del forum e questo è il mio primo messaggio..
siccome non riesco a vedere lo zip, perchè il collegamento è interrotto..
sapete dirmi dove posso trovare qualcosa altro del genere?? o lo stesso zip??
grazie mille
-
Benvenuto!
Questa sera controllo sull'altro pc che ho a casa se trovo ancora lo zip che scaricai a febbraio, in caso te lo mando. Comunque credo che a breve il link sarà ripristinato.
Ciao.
-
Hehehe... l'ho trovato.
solo che non riesco a metterti il link, mi dice che non sono un utente premium.
il link è questo ma devi aggiungere l'http i due punti e il doppio slash davanti:
dl.dropbox.com/u/1379722/php/news.zip
Ciao.
-
grazie sei stato davvero gentile
grazie ancora :):):)
-
devi correggere il file admin_action.php alla riga 32
da:
else if (unpublish_data=="")
a:
else if ($unpublish_data=="")
e a riga 146 manca una "i", correggi da:
... unpublish_data='$unpublsh_data' ...
... unpublish_data='$unpublish_data' ...Ciao.
-
Grazie davvero sei gentilissimo come posso ringraziarti? adesso provo..
è la prima volta che mi iscrivo a un forum del genere e già mi trovo bene
-
ciao volevo farvi una domanda.. cosa dovrei fare se volessi che nel caso ci fossero più utenti, e ciascuno inserisce delle notizie, e che siano modificabili solo le notizie inserite da ciascun utente..
mi spiego meglio..
se faccio si che possano inserire notizie + utenti (es 2), ora come ora l'utente 2 può modificare anche le notizie dell'utente 1..
vorrei che ogni account possa modificare solo le sue notizie..
grazie mille
-
Ciao pippoalfredo,
dovresti impostare i permessi utente inserendo un nuovo campo nelle news con l'id utente che ha creato la news.
Quando l'utente x entra nel pannello modifichi la query estraendo solo le news create dall'utente x.
[URL=http://www.giorgiotave.it/forum/gt-world/101972-forum-gt-disponibile-alle-versioni-per-telefoni-cellulari.html]Postato via Mobile
-
ciao innanzitutto ti ringrazio per avermi risposto
1)nel file install.php nella tabella news ho aggiunto il campo:
`id_user` smallint(5) NOT NULL ,
2)successsivamente ho aggiunto l'istruzione alla riga17:
$id_user="SELECT id FROM user WHERE id='$id'";
è giusta la sintassi? e il concetto?
-
e alla riga 58 la seguente istuzione dove ho aggiunto l'ultimo campo $id_user:
$sql="INSERT INTO news (title, text, publish, publish_data, unpublish_data,id_user) VALUES ('$title', '$text', '$publish', '$publish_data', '$unpublish_data','$id_user')";
4)però adesso non capisco perchè quando controllo chi ha inserito la news mi compare sempre il valore di default..
Penso che l'errore mio sia al punto 2 quando assegno il valore..
Grazie
-
-
Ciao pippoalfredo,
Vado un po' più in dettaglio perché credo di averti instradato malamente sulla risoluzione.
Il punto 1 è ok.
Dovrai ovviamente creare nella tabella user i nuovi utenti e l'id dato progressivamente dalla tabella sarà l'id_user che utilizzerai per salvarlo nella news.
Questo ovviamente implica che all'atto del log si salvi in sessione l'id_user.
Allo stato delle cose mi sembra che venga salvata la username.
[php]
$sql="SELECT username FROM user WHERE username='$username' AND password='$password'";[/php]
Va variato in
[php]$sql="SELECT id FROM user WHERE username='$username' AND password='$password'";[/php]
E quindi modificare la riga 6 su admin.php
[php]$sql="SELECT username FROM user WHERE username='".$_SESSION['user']."'";[/php]
Con
[php]$sql="SELECT id FROM user WHERE id='".$_SESSION['user']."'";[/php]
Quando l'utente entra nella pagina admin devi solo modificare la query già esistente inserendo la clausola WHERE id_user='$id_user' , avendo preventivamente valorizzato $id_user con il valore contenuto in sessione.
[php]$id_user=$_SESSION['user'];
$sql="SELECT * FROM news WHERE id_user='$id_user' ORDER BY publish_data DESC";
[/php]
Il punto 3 è ok.
Spero di non aver dimenticato qualche passo. facci sapere se funziona.