[PHP] Modificare pagina web online

pfranco

Nuovo Utente
12 Dic 2017
6
0
1
57
Sono un insegnante di una scuola media. L'istituto dove insegno mi mette a disposizione un minisito, dove posso pubblicare materiale didattico per gli studenti. Il sito (sia per questioni di sicurezza che altre) è molto limitato: posso usare HTML, CSS, Javascript, PHP, ma non database e quindi nemmeno CMS (Drupal, Joomla o Wordpress).
Ho realizzato un sito di 3 pagine ed avrei necessità di cambiare il contenuto di almeno una di queste pagine con frequenza giornaliera (a volte anche un paio di volte al giorno).
Il fatto di collegarmi con il programma FTP, prendere la pagina, modificarla con un altro programma e poi ripubblicarla, mi richiede tempo, passaggi macchinosi e l'uso di un computer dove ho i programmi per la manutenzione del sito. A volte devo modificare solo un paio di linee nella pagina (per esempio gli esercizi per i compiti a casa) e sarebbe comodo poterlo fare da qualunque postazione, semplicemente aprendo la pagina e modificarla direttamente online.
C'è un modo per poter modificare la pagina e salvare le modifiche direttamente online?
Ho provato tinymce, ma ho difficoltà nel salvare i contenuti modificati (praticamente dovrei riscrivere la pagina su se stessa, una volta modificata).
Se qualcuno riesce a darmi una mano, ne sarei grato e una volta testato e perfezionato il meccanismo, sarei ben lieto di renderlo disponibile a tutti qui nel forum.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
148
63
PR
www.borgo-italia.it
ciao
se non puoi usare il db la vedo dura (sicurezza? non esiste in internet)
comunque provo (buttata giu di brutto) a darti un'idea usando un file txt (sicurezza zero)


file dati.txt così composto
questa è la prima riga
questa è la seconda riga
questa e la teza riga
ec...

le righe corrispondono alle parti variabili della pagina html/php
PHP:
<?php
$righe=file(dati.txt);//riga è un array
?>
<div>testo e/o fisso 1<?php echo $righe[0]; ?></div>
<div>testo e/o fisso 2<?php echo $righe[1]; ?></div>
<div>testo e/o fisso 3<?php echo $righe[3]; ?></div>
<!-- eccetera-->
ti fai una pagina php modifica.php
PHP:
<?php
$righe=file(dati.txt);
?>
<form action="dove_vuoi.php" method="post">
<input name="riga" type="text" value="aa" />
<?php
foreach($righe as $riga){
    echo "<input name=\"riga\" type=\"text\" value=\"$riga\" /><br />";   
}

?>
<input name="modifica" type="submit" value="modifica" />
</form>
nella pagina modifica.php riscrivi il file dati.txt

considera però che questa è un'idea nata così a naso e che quindi abbisogna di approfondimento
 

macus_adi

Utente Attivo
5 Dic 2017
1.320
88
48
IT/SW
Potresti semplicemente attravero un'editor wysiwyg " quoto per il più utilizzato e pieno di plugin ckeditor" recuperare il contenuto di un file di testo come ti ha segnalato @borgo italia , o in alternativa creare delle "pagine" basate su file, potresti optare per diverse strade:
  1. Crei dei file e prima di sovrascrivere il contenuto riversi il contenuto del vecchio nella directory "archivio"
  2. Utilizzi la struttura json per memorizzare i file e recuperi sempre l'ultimo item.
in questo modo potresti recuperare diverse pagine tramite _GET e avere uno storico di quanto scritto.
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.371
338
83
Potrei sbagliarmi ma sembra tutto molto più complicato che modificare la pagina e ripubblicarla.
Per evitare di essere sempre in quella postazione potresti tenere su una chiavetta USB una copia aggiornata del sito e filezilla fare la tua modifica da qualsiasi PC e pubblicare immediatamente con FileZilla! Molto più semplice e pulito senza errori
 
Ultima modifica:

pfranco

Nuovo Utente
12 Dic 2017
6
0
1
57
Ragazzi! Vi ringrazio per le risposte e i suggerimenti tecnici.
La risposta di @borgo italia è quella che più si avvicina a quanto volevo sentire, ma devo provare quanto mi suggerisce e non ne ho ancora avuto il tempo.
La sicurezza non è un problema, perché il sito è su una rete interna della scuola (dall'esterno praticamente non ci può accedere nessuno, tranne gli studenti e i professori, dotati di una login personale).
Modificare la pagina da scuola è un problema per via degli strumenti a mia disposizione (editor HTML et similia), mentre modificare la pagina al di fuori della rete della scuola è un dramma per via delle limitazioni di accesso (ma avrei tutti gli strumenti sul mio PC personale, che non è abilitato nella rete della scuola e non me lo fanno collegare proprio per questioni di sicurezza).
Pertanto, se potessi modificare la pagina direttamente quando la vedo nel browser, vi assicuro che sarebbe un sollievo!
Grazie anche a @macus_adi per il suo suggerimento: in luogo di ckeditor, ho usato Tinymce (me l'hanno consigliato) e sono già riuscito a rendere editabili le tre zone della pagina che vorrei modificare, sono riuscito a farle passare ad un'altra pagina, ma non riesco a risalvare la pagina originale su se stessa, con le modifiche apportate.
 

macus_adi

Utente Attivo
5 Dic 2017
1.320
88
48
IT/SW
Diciamo che in linea di massima una cosa del genere dovrebbe funzionare, scrivi il contenuto corrente in un file db.json ed il vecchio lo metti in in archivio... Il codice seppur funzionante è solo a scopo evocativo,.

PHP:
ini_set('display_errors', '1');
if(isset($_POST['salva'])){
    //prelevo il contenuto precedente
    $cnt_file=file_get_contents( 'local_db/current/db.json');
    //apro il file
    $handle=fopen('local_db/archivio/'.time().'.json','w+');
    //prelevo il contenuto dell'archivio
    //scrivo il contenuto vecchio in archivio in un nuovo file
    fwrite( $handle, $cnt_file);
    //chiudo il file archivio
    fclose( $handle);
    //apro il file corrente
    $handle=fopen('local_db/current/db.json','w+');
    //scrivo le informazione nel file
    fwrite( $handle, json_encode(['titolo'=>$_POST['titolo_pagina'],'contenuto'=>$_POST['contenuto'],'creazione'=>date('d-m-Y H:i:s')],128));
    //chiudo il file
    fclose($handle);
}
?>
<!DOCTYPE html>
<html lang="it">
<head>
    <meta charset="UTF-8">
    <title>Project-</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css" integrity="sha384-PsH8R72JQ3SOdhVi3uxftmaW6Vc51MKb0q5P2rRUpPvrszuE4W1povHYgTpBfshb" crossorigin="anonymous">
    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.3/umd/popper.min.js" integrity="sha384-vFJXuSJphROIrBnz7yo7oB41mKfc8JzQZiCq4NCceLEaO4IHwicKwpJf9c9IpFgh" crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/js/bootstrap.min.js" integrity="sha384-alpBpkh1PFOepccYVYDB4do5UnbKysX5WZXm3XxPqe5iKTfUKjNkCk9SaVuEZflJ" crossorigin="anonymous"></script>
    <script src="plugin/ckeditor5/ckeditor.js"></script>
</head>
<body>
<div class='container'>
    <div class='row'>
        <div class='col-md-12'>
            <form method='post'>
                <div class='col-md-12'>
                <label>Titolo Pagina</label>
                <input type='text' name='titolo_pagina' class='form-control'>
                </div>
                <div class='col-md-12'>
                    <label>Contenuto Pagina</label>
                    <textarea name='contenuto' rows='10' id='editor' class='form-control'></textarea>
                </div>
                <div class='col-md-12 text-right'>
                    <button class='btn btn-success' type='submit' name='salva'>Salva</button>
                </div>
            </form>
        </div>
    </div>
</div>
<script>
    ClassicEditor
        .create( document.querySelector( '#editor' ) )
        .then( editor => {
        console.log( editor );
    } )
    .catch( error => {
        console.error( error );
    } );
</script>

</body>
</html>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
148
63
PR
www.borgo-italia.it
ciao
scusate una cosa che forse non ho capito, pfranco dice
sul mio PC personale, che non è abilitato nella rete della scuola
se non può accedere dall'esterno come fa a operare?
da quello che ho capito può operare solo a scuola, dall'esterno non ha accesso consentito, ho sbaglio?
se è così solo dal server della scuola può operare
 

pfranco

Nuovo Utente
12 Dic 2017
6
0
1
57
ciao
scusate una cosa che forse non ho capito, pfranco dice
se non può accedere dall'esterno come fa a operare?
da quello che ho capito può operare solo a scuola, dall'esterno non ha accesso consentito, ho sbaglio?
se è così solo dal server della scuola può operare

Probabilmente mi sono spiegato non molto chiaramente. Dall'esterno ci sono due modalità di accesso: una che permette di consultare alcune pagine del sito scolastico (cui hanno accesso sia gli studenti, che i professori), l'altra che permette di avere accesso alle cartelle personali poste sul server (questo accesso ce l'hanno solo alcuni professori, tra cui io) e dove si possono modificare i sorgenti delle pagine di cui si è amministratore.
Dall'esterno io posso accedere alla mia cartella sul server (dove risiedono le mie pagine personali), ma non per esempio a quelle di altri colleghi o dell'istituto.
Quando sono a scuola, posso accedere con le stesse modalità come da fuori, oppure direttamente attraverso la rete interna della scuola.
Spero di essermi spiegato meglio.
 
Discussioni simili
Autore Titolo Forum Risposte Data
Shyson Modificare funzione php PHP 15
D [PHP] Tabella: modificare direttamente i valori PHP 6
G [PHP] MODIFICARE DATI TABELLA CONTESTUALMENTE PHP 6
Y [PHP] [HTML] Modificare i quadranti PHP 1
A [PHP] Modificare campo database in base alla scelta dell'utente PHP 2
Y Modificare script php PHP 5
Merlina3377 [PHP] modificare file su form immagine thump PHP 1
C modificare un rss con php PHP 2
Creatt script in php da modificare PHP 7
alankanz [PHP] modificare un .rtf PHP 2
P php jquery ajax per modificare valore in un databe Ajax 1
C modificare dati specifici mysql con php PHP 2
M Php+MySql: Estrarre dati da tabella e consentire all'utente di modificare un valore 'in linea' PHP 6
J modificare il sequente codice utilizzando il php return PHP 0
I Modificare dati in tabella csv da php PHP 0
M Modificare le variabili di un file php attraverso un form PHP 1
Monital Copiare e modificare tabelle Mysql con php PHP 3
marcellokabora come modificare un url attraverso un .htaccess (swf-php-htaccess-urlrewriting) PHP 2
G Modificare URL di Pagine PHP per renderle Seo Friendly PHP 0
L Problemi form Pagina php HTML e CSS 2
L php mysql non salva solo id PHP 21
L php mysql cerca e visualizza pagina PHP 0
F Il codice php è giusto? PHP 2
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
A invio massivo dati a file php Javascript 4
Z MySql injection PHP PHP 1
V PHP form intersecate PHP 0
I [Offro][Retribuito] Programmatore Php Offerte e Richieste di Lavoro e/o Collaborazione 0
P Funzione jQuery Ajax invio file a php jQuery 1
C Dopo chiusura del tag php la stringa html va a capo PHP 1
E Transaction php PHP 11
B ciclare file xml con PHP PHP 1
L Estrazione dati php Database 6
A Aiuto per pagina php PHP 0
E Php select option e ajax PHP 23
I Aiuto php Dependent Lookup PHP 0
T arretramento versione PHP... PHP 3
D problema php mysql PHP 1
D problema php mysql PHP 1
E Barra di avanzamento codice PHP PHP 4
G creazione menu a tendina e invio a pagina php PHP 1
A inserire variabile php colore in div html PHP 2
Z Video protetto con PHP PHP 0
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
I Eecuzione di javascript in ciclo foreach php. PHP 7
S Libreria PHP per creare file dwg o dxf PHP 0
A [cerco - retribuito] Sviluppatore Php freelance per progetti vari Offerte e Richieste di Lavoro e/o Collaborazione 2
L Google chart php mysql PHP 2
R Download file multipli da directory php PHP 0
F pagina dinamica PHP PHP 3

Discussioni simili