Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
PHP - Scrivere e leggere su file
Forum - PHP - Scrivere e leggere su file

Avatar
LittleHacker (Member)
Guru


Messaggi: 1033
Iscritto: 28/04/2009

Segnala al moderatore
Postato alle 0:09
Lunedì, 07/09/2009
salve a tutti sono alle prime armi anche con il php e vorrei che sul mio sito ci fosse anche un posto dove postare(scusate il gioco di parole) un po di codice...cioè ad esempio pinco non sa come puù "aggiu8stare" il suo codice allora scrivere l'appartenenza del codice(ex. C#, vb.net, vb, etc.) e poi scrive il codice e me lo posta e il php me lo scrive su un file codici.txt con:
Genere: il genere
Codice: il codice

e qui è finita la parte del cliente adesso io vorrei che sempre sul mio sito nella mia sezione privata(già fatta) ci fosse un rpogy sempre in phph che mi legga e mi metta su una lista tutti i codici inviati dai vari utenti(si potrebbe fare un bel lavoro?? cioè ci sono diverse liste e a secodna del genre me lo metta in una lista l'altro nell'altra... capito??)
:k:

PM Quote
Avatar
blackboss (Normal User)
Pro


Messaggi: 63
Iscritto: 19/08/2009

Segnala al moderatore
Postato alle 13:59
Domenica, 27/09/2009
Per prima cosa devi creare un form attraverso cui l'utente può postare:
Codice sorgente - presumibilmente PHP

  1. <form method="post" action="invio.php">
  2. Nome: <input type="text" name="nome"><br>
  3. Appartenenza del codice: <input type="text" name="tcode"><br>
  4. Codice:<br>
  5. <textarea name="codice" rows="10" cols="70"></textarea><br>
  6. <input type="submit" value="Invia"> <input type="reset" value="cancella">
  7. </form>


Nella prima riga

PM Quote
Avatar
blackboss (Normal User)
Pro


Messaggi: 63
Iscritto: 19/08/2009

Segnala al moderatore
Postato alle 17:08
Domenica, 27/09/2009
c'è il nome dello script php che riceverà i dati, io l'ho chiamato invio.php
Se il contenuto del post lo lo devi usare solo tu e non lo devi rielaborare, ti consiglio di inviarlo per email al posto di salvarlo in un file, così lo script sarebbe molto più leggero e semplice.
In questo modo lo script sarebbe così:

  <? php
  $var1=$_POST["nome"];
  $var2=$_POST["tcode"];
  $var3=$_POST["codice"];
  //ricavo i dati del form e li inserisco in 3 variabili
  $destinatario=”tuonome@tuindirizzo.it“;
  $mittente=”spazio dei post”;
  $oggetto=”Nuovo post sul tuo sito“;
  $messaggio=”$var1 ha scritto un post sul tuo sito, ecco i dati:<br/>
              NOME:$var1<br/>
              APPARTENENZA DEL CODICE: $var2<br/>
              CODICE: $var3”;
  mail($destinatario,$oggetto,$messaggio,$mittente);
  //creo delle variabili per la mail
  //(la variabile $messaggio continene il contenuto della mail)
  echo “Grazie per aver postato”;
  //puoi scrivere anche un messaggio di ringraziamento
  ?>

Se invece vuoi usare l'altro non ho capito se vuoi salvare tutti i post in un unico file o se ne vuoi usare uno diverso per ogni post, in ogni caso ti aiuterò appena me lo avrai detto.
PS: non ho provato il codice che ti ho scritto e può contenere degli errori, se hai problemi dimmelo

PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2305
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 12:04
Lunedì, 28/09/2009

non parla di come inviare email ma parta di tutt'altra cosa.


scritto tutto il tuo form in html al dopo lo reindirizzi ad una pagina php
con questo contenuto esempio.

Hai una textarea dove l'utente scrive il codice.
e il pulsante invia

Codice sorgente - presumibilmente Plain Text

  1. <form method='POST' action='posta.php'>
  2. <input type='text' name='titolo'>
  3. <textarea name='codice'></textarea>
  4. </form>




Pagina posta.php

Codice sorgente - presumibilmente PHP

  1. $titlo = $_POST[titolo];
  2. $codice = $_POST[codice];
  3.  
  4. $File = "testFile.txt";
  5. $fh = fopen($File, 'w') or die("Impossibile aprire il file");
  6. fwrite($fh, $codice);




Il modo migliore per ottenere quest'effetto, diciamo anche il metodo più veloce,
e quello di inserire in contenuto di un codice php o html in una textarea.


perché postando direttamente il codice in una pagina, il server lo interpreta come codice.
quindi dovresti prendere il contenuto inserito nel fil ed applicarlo alla textarea


Codice sorgente - presumibilmente Plain Text

  1. $File = "testFile.txt";
  2. $fh = fopen($File, 'w');
  3.  
  4. echo "<textarea>$fh</textarea>";




PS.
a mio parere e meglio usare un database per queste cose. :k:
altrimenti avrai problemi nel gestire i file.
semplicemente mettiamo che in una giornata postano tipo 30 sorgenti.
il file e sempre quello. oppure dovresti rifare un ciclo per verificare l'esistenza di quel file tramite un incrementatore e in caso il file esista, l'incrementatore aumenta fin quando non trova nulla.

Ultima modifica effettuata da Thejuster il 28/09/2009 alle 12:13


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote