Creare un installer con php

IImanuII

Utente Attivo
10 Giu 2012
390
0
16
Salve a tutti, spiego il mio progetto.

Ho un sito che si appoggia a un db mysql.

Quando lo carico su un host devo a mano eseguire alcune operazioni, trovo carino che tali operazioni possano essere eseguite tramite un installer. (tipo quello di joomla per intenderci o phpbb3)

Le cose che dovrebbe fare questo installer sono

1. configurare la pagina connessione.php con i dati del db mysql
2. eseguire crea_tabella.php che popola il db

4. scrivere un numero in una variabile in 3 pagina php (ad esempio la variabile $numero=10 è presente in 3 file php e deve essere unguale in tutti e 3)

5. modificare un ulteriore variabile in due pagine.

Ho trovato googlando http://mkinstaller.nisu.org/ non ho ben capito cos'è e se è inerente al mio scopo.

Nel caso da dove posso cominciare?

Come può essere strutturato un installer così composto?
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
24
Roma
alessandro1997.netsons.org
Direi che fa al caso tuo, ma usare un framework per creare uno script di installazione mi sembra esagerato. Quello che farei io è creare una cartella install con un file index.php contenente più o meno questo:
PHP:
<?php
$step = isset($_GET['step']) ? (int)$_GET['step'] : 1;

if (!is_file($path = __DIR__ . "/steps/{$step}.php")) {
    header('HTTP/1.0 404 Not Found');
    die('Impossibile trovare la pagina richiesta.');
}

require_once $path;
E poi creerei nella cartella steps i file 1.php, 2.php e così via.

A quel punto in ogni step devi mostrare un form e, quando viene inviato, eseguire le operazioni appropriate (es. scrivere in un file, creare il database...).
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
24
Roma
alessandro1997.netsons.org
Una cosa: nel mio script non viene effettuato alcun controllo per verificare che il valore step sia un file contenuto nella cartella steps. Devi aggiungerlo, o esponi il tuo script ad attacchi di file inclusion.
 

IImanuII

Utente Attivo
10 Giu 2012
390
0
16
Una cosa: nel mio script non viene effettuato alcun controllo per verificare che il valore step sia un file contenuto nella cartella steps. Devi aggiungerlo, o esponi il tuo script ad attacchi di file inclusion.

Perdonami l'inclusion funziona sullo stesso principio della sql injection? Cioè qualcuno potrebbe installare qualcosa sul mio host? :mavieni:
 

IImanuII

Utente Attivo
10 Giu 2012
390
0
16
Purtroppo c'è qualcosa che non quadra.

per il momento non ho modificato il tuo codice e stavo creando i form.

Ho fatto come hai detto, la struttura è questa

index.php

steps/1.php

Solo che mi da sempre l'errore della pagina non trovata, che sbaglio?
 

IImanuII

Utente Attivo
10 Giu 2012
390
0
16
Purtroppo c'è qualcosa che non quadra.

per il momento non ho modificato il tuo codice e stavo creando i form.

Ho fatto come hai detto, la struttura è questa

index.php

steps/1.php

Solo che mi da sempre l'errore della pagina non trovata, che sbaglio?

Ho risolto in questo modo:
PHP:
if (!is_file($path = "./steps/{$step}.php")) {

Non capisco perchè non andava così:
PHP:
if (!is_file($path = __DIR__ . "/steps/{$step}.php")) {
 
Discussioni simili
Autore Titolo Forum Risposte Data
neo996sps Creare installer applicazione VB 2008 .NET Framework 1
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
F Creare elementi html con javascript Javascript 4
Shyson Modificare codice e creare link PHP 0
Cosina Creare bottone delete in form upload PHP 5
Cosina Creare bottone delete in form upload PHP 1
M Creare un campo input select quantità di un numero intero prelevato dal db PHP 3
L Creare una forma geometrica Photoshop 1
M [Cerco] aiutanti per creare sito Offerte e Richieste di Lavoro e/o Collaborazione 8
S Libreria PHP per creare file dwg o dxf PHP 0
R Come creare sistema Add to homescreen PHP 3
L Creare un countdown con giorno specifico della settimana PHP 3
W Creare link di una dato Classic ASP 0
W creare file .jar Java 2
M Creare con il Vb 2010 Il Classico Notes di Windows Vista Visual Basic 1
MarcoGrazia Creare una password Snippet Javascript 0
J creare pagina php di prenotazione PHP 5
A Creare un modulo di ricerca avanzata con dreamweaver HTML e CSS 0
INTEROPERABILITY Sviluppatrice/formatrice creare APP Offerte e Richieste di Lavoro e/o Collaborazione 0
L Creare una pagina pre-home WordPress 1
G Creare side-bar non visibile da dispositivi mobile HTML e CSS 0
L creare oggetti da una classe tramite un form Javascript 0
Web93 CREARE SITO WEB COMICS CON WORDPRESS WordPress 0
maxnegri Contare sessioni aperte e creare condizione PHP 1
A Come creare pulsante donazione PayPal HTML e CSS 5
L [CERCO] Creare blog su WordPress con tema Divi Offerte e Richieste di Lavoro e/o Collaborazione 3
F Creare un set di date a seconda del frazionamento scelto da inserire in MySQL PHP 6
R [Photoshop] Creare Azione Photoshop 1
F [PHP] creare tabella e tasto cerca PHP 3
A Creare con Javascript un percorso all'interno di uno spazio Javascript 0
B [PHP] Creare PDF dopo inserimento dati form PHP 4
A [HTML] Creare sito web per eLearnig HTML e CSS 2
R Bootstrap 4 - creare una finestra di testo responsive sopra un Carousel jQuery 1
Spenalzo Creare tabelle multiple con Access via VBA MS Access 2
R [PHP] Creare sistema random PHP 3
D [PHP] Consigli su come creare form PHP 1
I Creare Qsl radioamatore con testo editabile Presentati al Forum 1
T [PHP] Creare Honeypot per form contatti PHP 10
S [PHP] Creare collegamento filtri di ricerca al database PHP 6
Z Creare VirtualHost Apache2 con PHP? Programmazione 0
max_400 [HTML] Come creare un jpg animata (non gif animata) HTML e CSS 3
A Come creare un framset Sviluppo app per Android 1
T con oop creare un ciclo per una pagina dinamica html con php PHP 3
X [Apache] Creare sito clone/preservare codice sorgente Apache 7
E [PHP] creare temporary table per dati da xml PHP 2
M [MySQL] CREARE UN LINK SU UN DETERMINATO CAMPO DI UNA TABELLA RISULTATO DI UNA QUERY SQL MySQL 3
P [Photoshop CC] Come posso creare quest'effetto - cerchi concentrici Windows e Software 6
R [PHP] creare pagina profilo per ogni utente PHP 4
V [WordPress] Creare una struttura di articoli da una struttura di cartelle WordPress 1
jonnino2004 Sito .it vale la pena creare una versione in inglese? SEO e Posizionamento 1

Discussioni simili