sul server in locale funziona pubblicato su aruba NO!

Nell' Homepage del mio sito ho realizzato un piccolo sistema per ottenere delle votazioni, è stato realizzato in html tramite un form che passa con il POST il voto scelto fra quattro ad uno script php, il quale apre un file di testo (tipodivoto.txt) ne legge il valore contenuto lo incremente di uno e risalva il file di testo, nella homepage un' altro script PHP apre i quattro file di testo corrispondenti alle quattro votazioni ne legge il valore e disegna un grafico a barre orizzontali che ne rappresenta la percentuale dove il voto più alto assume il valore massimo (100%), le barre orizzontali del grafico sono ottenute attribuendo alla gif larga solo un pixel un valore di larghezza proporzionale alla votazione.

Il problema che sul server locale tutto funziona egregiamente, quando ho pubblicato il sito sul server di aruba il sistema non ha più funzionato, ho quindi provato a installare sul mio server le nuove ver di apache2 e php5 perchè quelle installate erano precedenti a quelle presenti sul server di aruba, ma il risultato è uguale, ho notato che il POST sicuramente passa il parametro "tipovoto" allo script php, ma lo stesso non aggiorna (incrementa e salva) il voto specificato nel file, in più lo script della homepage non "interpreta" i valori presenti in questi files e attribuische ad essi il valore "0"

inviato 10 anni fa
IMD
IMD
1
X 0 X

ma non ti restituisce nessun errore?

nel caso non ti restituisse nessun errore, prova a mettere :

error_reporting(E_ALL);

PS non è che magai non hai i permessi di scrittura sui file?

ciao

Lore

risposto 10 anni fa
Lore
Lore
1
X 0 X

Non viene notificato nessun errore, questo pezzo di codice è solo una parte ma è la parte che non funge e in più le altre sono identiche cambia solo il tipo di voto (scarso, discreto, buono, ottimo).

posso capire di non aver il diritto di scrivere sul file, ma non funge neanche lo script nell' homepage che legge solamente il valore dal file.

$voto = $_POST["Voto"];

echo "<td height='107'><p align='center'>Grazie per la collaborazione ".$ip."</p>";

echo "<p align='center'>Hai dato come voto, ".$voto."</p></td>";

if ($voto == "scarso") {

   if (!file_exists("counter1.txt")) {

   $file = open("counter1.txt","w");

   $num = 0;

   }

   else {

   $file = fopen("counter1.txt","r+");

   $num = fgets($file, 20);

   fseek($file, 0);

   }

   $num++;

   print("Scarso: ".$num);   

   fputs($file,$num);

   fclose($file);

};

risposto 10 anni fa
IMD
IMD
1
X 0 X

Lore hai ragione non ho i permessi in scrittura guarda questi log:

Quello che non mi spiego e perchè non funge lo script che semplicemente legge i valori che io gli invio editati "a mano"

PS è possibbile e in che modo ottenere il permesso di scrittura ? TNX!!!

Warning: fopen(counter3.txt): failed to open stream:

Permission denied in D:\Inetpub\webs\tiriolocom\voto.php on line 71

Warning: fgets(): supplied argument is not a valid stream resource in D:\Inetpub\webs\tiriolocom\voto.php on line 72

Warning: fseek(): supplied argument is not a valid stream resource in D:\Inetpub\webs\tiriolocom\voto.php on line 73

Buono:

Warning: fputs(): supplied argument is not a valid stream resource in D:\Inetpub\webs\tiriolocom\voto.php on line 77

Warning: fclose(): supplied argument is not a valid stream resource in D:\Inetpub\webs\tiriolocom\voto.php on line 78

risposto 10 anni fa
IMD
IMD
1
X 0 X

l'avrai sicuramente già fatto, ma se fai un echo

$voto = $_POST["Voto"];

echo "post : ".$_POST['Voto']." request: ".$_REQUEST['Voto'];

non ti stampa niente?

Il method della form è method="post" o method="get"?

Scusa le domande stupide, ma sto cercando di vagliare tutte le possibilità  :P

if ($voto == "scarso") {

   if (!file_exists("counter1.txt")) {

   $file = open("counter1.txt","w");  // qui è fopen, non open

   $num = 0;

   }

.....

fclose($file);

};  //qui c'è un ; in +...

Cmq prova a postare un pezzo della form...

Per quanto riguarda i permessi, aruba se non sbaglio, mette a disposizione una cartella con tutti i permessi, dovrebbe essere 'public' o qualcosa del genere, sinceramente non ho mai lavorato su aruba, quindi vado a memoria...

ciao

risposto 10 anni fa
Lore
Lore
1
X 0 X

Lore sì è satto un mio errore di trascrittura in effetti è fopen  non open, il method della form è "post" e il dato viene tranquillamente passato dalla form perchè se guardi l'inizion dello script la riga 3 c' è echo "<p align='center'>Hai dato come voto, ".$voto."</p></td>"; che in effetti scrivi "Hai dato come voto ".$voto che è il dato passato dal POST della form e lo script lo visualizza in pratica ridotto è echo $voto dove voto è il parametro passato dal metodo post della form.

Sicuramente è una questione di permessi ma ora devo trovare il modo per capire come risolvere, anche perchè ho realizzato alcuni action script di flash che fanno accesso come questo script di php a dei semplice files di testo, questo per evitare almeno in questa fase di utilizzare un database come MYSQL per conservare pochissimi bytes.

Bye e TNK!!!

risposto 10 anni fa
IMD
IMD
1
X 0 X

Di niente, cmq fa sapere come si evolve la cosa... ;)

ciao

Lore

risposto 10 anni fa
Lore
Lore
1
X 0 X

per settare i permessi di un file basta usare un client FTP. Prova a metterli a 777

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Ciao Gianni,

riguardo al settaggio dei permessi...

Come ho scritto nel post sopra, aruba dovrebbe mettere a disposizione una cartella con tutti i permessi, ma non ricordo il nome, penso sia 'public', ma non avendo mai lavorato su aruba, non ne sono certo, tu sai per caso qual'è la cartella ( lo so che non c'entra nulla con il thread, ma era una info personale... )...

Ciao & grazie

Lore

risposto 10 anni fa
Lore
Lore
1
X 0 X

Mai usato Aruba  :dunno:

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Mai usato Aruba  :dunno:

 :bye:

Ok,allora mi conforto non essendo l'unico  ;D

 :bye:

risposto 10 anni fa
Lore
Lore
1
X 0 X

 :o Scusa Gianni ma come si cambia attributo al files? con WS_FTP ??? io ho provato con il tasto destro del mouse ma le proprietà me li fà solo vedere e cmq sono "-rw-r--r--" come di editano?  :idiot:

risposto 10 anni fa
IMD
IMD
1
X 0 X
:o Scusa Gianni ma come si cambia attributo al files? con WS_FTP ??? io ho provato con il tasto destro del mouse ma le proprietà me li fà solo vedere e cmq sono "-rw-r--r--" come di editano?  :idiot:

tasto destro del mouse sul file in questione, seleziona "properties" o "proprietà". Ti verrà mostrato un pannello da cui potrai modificare i permessi.

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Gianni ho già scritto che con il tasto destro del mouse e poi proprietà ho la sola possibilità di controllare gli attributi ma non di cambiarli... cmq ;) ho già trovato e la procedure è:

Tasto destro del mouse sul files...

Operazioni -> FTP Comandi -> CHMOD (unix)

e poi si apre un pannello con tutte le proprietà con in più la possibilità di inserire un numero che con 777 abilita tutte le proprietà...

ma se riprovo a controllare il files dopo questa procedura ritorna con gli attributi come di default cioè 644 -rw--r--r-  :'(

risposto 10 anni fa
IMD
IMD
1
X 0 X

Scusami, avevo letto fischi per fiaschi  :crazy:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Gianni ho già scritto che con il tasto destro del mouse e poi proprietà ho la sola possibilità di controllare gli attributi ma non di cambiarli... cmq ;) ho già trovato e la procedure è:

Tasto destro del mouse sul files...

Operazioni -> FTP Comandi -> CHMOD (unix)

e poi si apre un pannello con tutte le proprietà con in più la possibilità di inserire un numero che con 777 abilita tutte le proprietà...

ma se riprovo a controllare il files dopo questa procedura ritorna con gli attributi come di default cioè 644 -rw--r--r-  :'(

Tratto da:

http://www.science.unitn.it/~fiorella/guidelinux/ildp/guide/node36.html

Ogni file ha permessi (a volte chiamati ``privilegi'') associati ad esso, che comunicano a Unix chi può accedere a quel file o modificarlo o, in caso di un programma, eseguirlo.

Probabilmente il tuo utente non ha i permessi necessari per modificare i permessi del file...

CMQ, come ti ho detto qualche post sopra, dovrebbe esserci una cartella 'public' dove dovresti avere i permessi necessari e dove penso potrai cambiare i permessi ai tuoi file...

prova cambiando locazione ai tuoi txt mettendoli lì...

ciao

risposto 10 anni fa
Lore
Lore
1
X 0 X

Lore gli attributi li cambio ma poi non rimangono, ho controllatto esiste una cartella public e una private nessuna altra cartella disponibile, ho quindi immaginato potessere public ma non cambia nulla esattamente come private! ho seguito il log in basso che genera WS_FTP e la risposta del server e mi sono accorto che gli attributi non li cambia perchè il server non riconosce il comando inviato dal mio client FTP (infatti il comando si chiama CHMOD (unix)) che lascia indendere essere interpretato correttamente solo da sistemi simil unix come linux e altri.

Posso dunque immaginare che più che un problema di permesse del server (che comuncque offre una cartella public) sia un problema di interpretazione del comando inviato dal mio client ftp.

Ho detto questo solo per chiudere questo topic  :police: almeno chè qualcuno non conosca bene il problema è può indicarmi la soluzione, un solo consiglio un buon client FTP per Win ???

TNX !! a tutti bye  :bye:

risposto 10 anni fa
IMD
IMD
1
X 0 X

Io uso SmartFTP, è anche gratuito! Comunque WS_FTP è ottimo.  :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda