Torna indietro   AlterVista | Spazio web gratis, hosting free php mysql > Supporto > PHP, MySql e file database

Rispondi
 
LinkBack Strumenti discussione Modalità visualizzazione
  #1 (permalink)  
Vecchio 02-07-2009, 21.56.59
Neofita
 
Data registrazione: 29-06-2009
Messaggi: 14
Predefinito [php] memorizzare in file quanto scritto in form html

Salve ragazzi, mi servirebbe uno script php-html che facesse questo lavoro:

Da dei form html inviare ad un file php quello che sta scritto e il file php lo scrivesse sotto quello che sta scritto in un file .txt

Io avevo trovato questo:
File html:
Codice:
<html>
<head>
<title>Ciao</title>
</head>
<body>
<form action="result.php" method="post">
Scrivi il tuo nome: <input type="text" size="30" name="nome">
<br>Scrivi il tuo cognome: <input type="text" size="30" name="cognome">
<br>Scrivi il tuo indirizzo e-mail: <input type="text" size="30" name="email">
<br><input type="submit" value="Invia"></form>
</body>
</html>
File php:
Codice:
<?php
$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$email = $_POST['email'];
$fp = fopen("tuo_file.txt","w"); //apro il file dove salvare i dati
fwrite($fp,"Nome: {$nome} Cognome: {$cognome} Email: {$email}"); //scrivo i dati ricavati
fclose($fp); //chiudo il file
?>
Ora ci sono due problemi che non sono riuscito a risolvere...
Problema A:
Quando una persona compila il form e lo invia lo script php cancella tutto quello che sta scritto nel file .txt e lo sovrascrive...
Problema B:
Vorrei mettere dopo che lo script php invia il form una pagina di avvenuto invio del form e se questa non è avvenuta, una pagina in cui si dice che non è avvenuto l'invio...
Ho provato con il sistema "False-true" ma non ci sono riuscito, ora cosa posso fare?? Potete aiutarmi anche solo per il primo problema? (Problema A)

GRAZIE IN ANTICIPO!
Rispondi citando
  #2 (permalink)  
Vecchio 02-07-2009, 22.16.53
L'avatar di miki92
AlterGuru
 
Data registrazione: 21-04-2007
Residenza: Procida (NA)
Messaggi: 2,195
Invia un messaggio via MSN a miki92 Manda un messaggio tramite Skype™ a miki92
Predefinito

Prova a sostituire il tuo codice PHP con questo:
Codice PHP:
<?php
$nome 
$_POST['nome'];
$cognome $_POST['cognome'];
$email $_POST['email'];
$fp fopen("tuo_file.txt","a+"); //apro il file dove salvare i dati
if(fwrite($fp,"Nome: {$nome} Cognome: {$cognome} Email: {$email}")){
echo 
"SCRITTURA RIUSCITA";
}else{
echo 
"SCRITTURA NON RIUSCITA";
}
fclose($fp); //chiudo il file
?>
Il mio codice oltre ad avvertirti se la scrittura è riuscita o meno al posto di sovrascrivere i dati li scrive alla fine. Se invece vuoi che vengano scritte su righe differenti (quindi il tuo form, 1° riga, il mio form 2° riga...ecc..in pratica va a capo ogni volta) basta sostituire:
Codice PHP:
if(fwrite($fp,"Nome: {$nome} Cognome: {$cognome} Email: {$email}")){ 
Con:
Codice PHP:
if(fwrite($fp,"Nome: {$nome} Cognome: {$cognome} Email: {$email}\r\n")){ 
__________________

"Non è mai troppo tardi per realizzare il tuo sogno." - Hilary Duff
"L'informatica è un casino di potenzialità!" - Miki92
Rispondi citando
  #3 (permalink)  
Vecchio 02-07-2009, 22.27.49
Neofita
 
Data registrazione: 29-06-2009
Messaggi: 14
Predefinito

Ora provo! Ti faccio sapere!

EDIt: va benissimo grazie!!

Ma se volessi fare che il primo campo lo legge da 1 file che sta nel computer come faccio?

Ultima modifica di tlsgaming : 02-07-2009 alle ore 22.36.27
Rispondi citando
  #4 (permalink)  
Vecchio 03-07-2009, 12.31.46
Guest
 
Messaggi: n/a
Predefinito

Citazione:
Originalmente inviato da tlsgaming Visualizza messaggio
Ma se volessi fare che il primo campo lo legge da 1 file che sta nel computer come faccio?
Crei nel form un campo per l'upload del file, lo carichi sul tuo server e poi lo leggi tramite PHP, ricavando il valore del campo che ti interessa. Quando ti assicuri che non ti serve più lo elimini.
Rispondi citando
  #5 (permalink)  
Vecchio 04-07-2009, 00.48.02
Neofita
 
Data registrazione: 29-06-2009
Messaggi: 14
Predefinito

fa niente :D
Rispondi citando
  #6 (permalink)  
Vecchio 04-07-2009, 02.15.21
L'avatar di alemoppo
Altervistiano Junior
 
Data registrazione: 24-08-2008
Residenza: Dietro le tue spalle
Messaggi: 561
Invia un messaggio via MSN a alemoppo
Predefinito

Citazione:
Originalmente inviato da tlsgaming Visualizza messaggio
Ma se volessi fare che il primo campo lo legge da 1 file che sta nel computer come faccio?
Cioè? Cosa intendi per computer?

1->Il tuo spazio
2->Il tuo PC di casa
3->Il PC del visitatore del tuo sito

Risoluzioni:

1-->Apri il fle con fopen come hai fatto prima, ma invece di scrivere con fwrite(), potresti leggere con ad esempio fgets() o file()...

2-->Devi avere il tuo PC connessio in internet (tipo server), ma non credo che vuoi fare questo

3-->La soluzione detta da camba: un upload ovvero fai caricare il file dall'utente, ma poi ritorni al punto 1

Ciao!
__________________
http://alemoppo.altervista.org

"Tra Java e Javascript c'é di mezzo il mare "
Se HTML e CSS sono linguaggi di programmazione...
Rispondi citando
  #7 (permalink)  
Vecchio 04-07-2009, 12.36.20
Neofita
 
Data registrazione: 29-06-2009
Messaggi: 14
Predefinito

già è complicato... ma giusto per andare un secondo offtopic, dove devo chiedere un supporto vb se si può chiedere?
Comunque praticamente mi servirebbe la soluzione 3... che poi torna alla soluzione 1 che poi dovrebbe cancellare il file.
Poi ho letto la tua discussione, ti spiego un attimo cosa devo fare:
Ho un programma VB che mette un file con un codice dentro (cosidetto GUID) che lo legge il programma e chiunque lo trovi... ma mi servirebbe che lo script uploddasse il file lo leggesse e poi lo cancellasse, è possibile senza che l'utente veda tutto questo?

Ultima modifica di tlsgaming : 04-07-2009 alle ore 12.41.03
Rispondi citando
  #8 (permalink)  
Vecchio 04-07-2009, 12.41.36
L'avatar di alemoppo
Altervistiano Junior
 
Data registrazione: 24-08-2008
Residenza: Dietro le tue spalle
Messaggi: 561
Invia un messaggio via MSN a alemoppo
Predefinito

Per caricare il file, usa il link che ti ho dato, e se non capisci qualcosa dillo.
Poi, una volta caricato, te lo trovi nella cartella che vuoi te (impostando $dir).

Quindi lo apri con la fopen ecc ecc.

Per eliminarlo, basta che usi la funzione unlink("file");

Ciao!
__________________
http://alemoppo.altervista.org

"Tra Java e Javascript c'é di mezzo il mare "
Se HTML e CSS sono linguaggi di programmazione...
Rispondi citando
  #9 (permalink)  
Vecchio 04-07-2009, 18.48.51
Neofita
 
Data registrazione: 29-06-2009
Messaggi: 14
Predefinito

domanda: ma per upparlo e cancellarlo ci mette molto?
Rispondi citando
  #10 (permalink)  
Vecchio 04-07-2009, 18.58.21
Guest
 
Messaggi: n/a
Predefinito

Tutto dipende dalle dimensioni del file, ricorda che non puoi "uppare" file superiori a 10 mega, e devi impostare il limite tramite il file .htaccess modificabile dal tuo pannello di controllo.
Rispondi citando
  #11 (permalink)  
Vecchio 05-07-2009, 01.09.55
Neofita
 
Data registrazione: 29-06-2009
Messaggi: 14
Predefinito

allora io creo una pagina (GUID.php) con questo codice:
Codice:
<?php
    $dir = 'dir/';
    $tName = $_FILES['userfile']['tmp_name'];
    $name = $_FILES['userfile']['name'];
    if (move_uploaded_file($tName, $dir . $name)) 
        echo "Inviato";
    else
        echo "NO";
?>
e la pagina di upload:
Codice:
<form enctype="multipart/form-data" action="file.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
File: <input name="userfile" type="file">
<input type="submit" value="Invia">
poi xò ad esempio il fopen lo devo inserire dove?? e se poi volessi far uploddare un file ke io so dove sta? (ad esempio nella cartella C:\lol il file 123.txt) dove c'è scritto prova123, e lo volessi far uscire in una pagina senza che lutente deve uploddarlo da selezionandolo?

Vi spiego il perché:
Ho un programma che da un codice automatico, e nel form di prima si deve scrivere, solo, visto che molti degli utenti non sapranno cosa sarà volevo farlo uscire automaticamente in una pagina, questo codice si trova in un file di testo (ad esempio 123.txt nella cartella C:\lol). Come faccio praticamente a far uscire fuori il codice in una pagina senza nient'altro o almeno con su scritto "IL TUO CODICE é "PINCOPALLINO"???

Io volevo provare come avete detto voi:
aprire il file uploddato con fopen() e poi leggerlo con file() e poi cancellarlo.
Oppure qualcosa di + semplice: dopo che uno clicca su un link "qui il tuo codice" che porta ad una pagina aperta in nuova finestra esce aperto tramite l'upload automatico e il fopen() il codice anche in .txt e dopo aver chiuso la finestra, semmai con un codice javascript cancellare il file...

Se non avete capito rispiego
Rispondi citando
  #12 (permalink)  
Vecchio 05-07-2009, 01.39.02
L'avatar di alemoppo
Altervistiano Junior
 
Data registrazione: 24-08-2008
Residenza: Dietro le tue spalle
Messaggi: 561
Invia un messaggio via MSN a alemoppo
Predefinito

Non ho capito tanto, comunque:

La fopen la dovrai inserire DOPO aver "uploadato" il file, no? E quindi nella pagina GUID.php (dopo, appunto, il caricamento del file).

Non so come si fa (e se si può) far caricare "automaticamente" un file (se è questo che vuoi). Al massimo, (credo, ma non son capace) puoi impostare una directory "di default", nel senso che appena uno clicca su "carica file", gli si apre la finestra con selezionata una cartella cha vuoi (ripeto, non so se si può fare e io non son capace)

Dell'ultima frase, non ci ho capito tanto, comunque non puoi cancellare un file con JS, proprio perché questo viene eseguito sul computer del tuo visitatore; invece il file risiede sul server e quindi dovrai usare PHP {in particolare, come già detto, con la funzione unlink()}

Ciao!
__________________
http://alemoppo.altervista.org

"Tra Java e Javascript c'é di mezzo il mare "
Se HTML e CSS sono linguaggi di programmazione...

Ultima modifica di alemoppo : 05-07-2009 alle ore 01.40.34
Rispondi citando
  #13 (permalink)  
Vecchio 05-07-2009, 16.30.14
Neofita
 
Data registrazione: 29-06-2009
Messaggi: 14
Predefinito

vabbè lascio stare ci vuole troppo tempo e ho solo un paio di minuti al giorno :p

Comunque sai dove chiedere supporto per Visual Basic? anche esterno ad altervista...
Rispondi citando
  #14 (permalink)  
Vecchio 05-07-2009, 16.31.46
Neofita
 
Data registrazione: 29-06-2009
Messaggi: 14
Predefinito

vabbè lascio stare ci vuole troppo tempo e ho solo un paio di minuti al giorno :p

Comunque sai dove chiedere supporto per Visual Basic? anche esterno ad altervista...
Rispondi citando
  #15 (permalink)  
Vecchio 05-07-2009, 17.55.54
L'avatar di alemoppo
Altervistiano Junior
 
Data registrazione: 24-08-2008
Residenza: Dietro le tue spalle
Messaggi: 561
Invia un messaggio via MSN a alemoppo
Predefinito

No.

Comunque ti ricordo che su AV non si possono scrivere 2 post uno dietro l'altro (consecutivi )

Ciao!
__________________
http://alemoppo.altervista.org

"Tra Java e Javascript c'é di mezzo il mare "
Se HTML e CSS sono linguaggi di programmazione...
Rispondi citando
  #16 (permalink)  
Vecchio 06-07-2009, 23.22.26
Neofita
 
Data registrazione: 29-06-2009
Messaggi: 14
Predefinito

opss doppio post non è colpa miaaa server buggatooo :D scusa non l'ho fatto apposta forse per sbaglio ho inviato 2 volte il messaggio ma non l'ho scritto 2 volte...
Rispondi citando
  #17 (permalink)  
Vecchio 10-07-2009, 12.06.30
Neofita
 
Data registrazione: 29-06-2009
Messaggi: 14
Predefinito

ragazzi ho trovato un errore nel 1° script... (quello del commento). A me serve che se uno scrive il 1° campo e lo registra, poi non può più scriverlo, Si può fare?
Rispondi citando
  #18 (permalink)  
Vecchio 23-07-2009, 18.35.48
Neofita
 
Data registrazione: 29-06-2009
Messaggi: 14
Predefinito

up
Perfavore ditemi se è possibile!
Rispondi citando
Rispondi

Strumenti discussione
Modalità visualizzazione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Attivato
Le faccine sono Attivato
Il codice [IMG] è Attivato
Il codice HTML è Disattivato
Trackbacks are Attivato
Pingbacks are Attivato
Refbacks are Disattivato



Tutti gli orari sono GMT +1. Adesso sono le 05.09.54.