Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
PHP - registro ingressi su txt
Forum - PHP - registro ingressi su txt

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
queen_flavio (Normal User)
Newbie


Messaggi: 14
Iscritto: 22/02/2008

Segnala al moderatore
Postato alle 15:54
Venerdì, 22/02/2008
Ciao a tutti,
Ho un sito interamente in HTML. Vorrei che ogni qual volta si entri nel sito prima di cominciare a navigare l'utente fosse obbligato ad inserire il nome (o un nick name se preferisce)
Poi vorrei naturalmente che gli accessi restino registrati in un registro in modo da poter avere un resoconto di chi entra. Naturalmente senza ricorrere ad alcuna registrazione, quindi non mettere log in password ecc ecc
Aggiungo che ho creato il sito con i frame, dunque compare sempre lo stesso indirizzo sulla barra degli indirizzi e quindi il 90% degli utenti entra sempre dallo stesso punto. Se si entra da altre pagine il sito non viene visualizzato correttamente quindi in un certo senso la navigazione è forzata. Non mi interessa monitorare tutte le pagine ma solo l'home page.
Io sono totalmente ignorante in programmazione, faccio tutto con dreamweaver.
Vorrei poter fare una cosa molto semplice simile a questa http://www.allwebfree.it/articolo_ph...a_database.php però senza rendere nota la lista degli ingressi.
Su un altro forum mi hanno detto di creare un file log_user.php con questo codice
<?php

if (isset($_POST['nome']))
{
setcookie("logutenti", $_POST['nome'], time() + 31536000);
header("Location: index.html");
die();
}

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">;
<html>

<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">


<title>log utente</title>
</head>

<body>

<form action="log_user.php" method="POST">
inserisci il tuo nome <input type="text" name="nome" />
<br><br>
<input type="submit" value="invia" />
</form>

</body>
</html>


e poi mi hanno fatto inserire quest'altro all'inizio della home page

<?php

if (isset($_COOKIE['logutenti']) === false)
{
header("Location: log_user.php");
die();
}

$fp = fopen("log.txt", "a+");

if (flock($fp, LOCK_EX) === true)
{
$log = date("d-m-Y", time());
$log .= " ore ";
$log .= date("H:i", time());
$log .= " - ";
$log .= $_COOKIE['logutenti'];
$log .= "\r\n";

fwrite($fp, $log);

flock($fp, LOCK_UN);
}

fclose($fp);

?>


Il nome riesco ad inserirlo, mi viene creato un file cookie con il nome inserito ma
non vine creato nessun file txt con la lista degli ingressi.
Per finire il codice è statp scritto in modo da ricordare gli ingressi, quindi
il nome viene rischiesto solo una volta, invece io vorrei che venisse chiesto sempre.
Qualcuno ha ulteriori consigli da darmi su come migliorare il codice?
Spero di essere stato chiaro
Giusto per la cronaca il sito è www.pallamanoreusia.it
GRazie mille per l'aiuto
Flavio

Ps. ho letto da qualche parte che con questo metodo si rischi che dei bot inviino falsi nomi al file txt e quindi il risultato sarebbe falsato. Ci sarebbe un altro metodo più sicuro eventualmente? Ripeto cmq che a me non interessa registrare gli utenti ma solo dare un nome al visitore

PM Quote
Avatar
bangirasu (Normal User)
Rookie


Messaggi: 39
Iscritto: 15/08/2007

Segnala al moderatore
Postato alle 0:33
Sabato, 23/02/2008
Questo:
Codice sorgente - presumibilmente PHP

  1. if (isset($_COOKIE['logutenti']) === false)
  2. {
  3. header("Location: log_user.php");
  4. die();
  5. }


significa: se non è stato impostato il cookie con il nome dell'utente allora mandalo alla pagina log_user.php.
Dato ke il cookie viene impostato nel browser ogni volta ke lo stesso utente, cn lo stesso browser, entrerà nel sito avrà il nome ke ha impostato inizialmente.. Mettere una richiesta di inserire il nome ad ogni accesso può essere parecchio noioso per l'utente...

Questo:
Codice sorgente - presumibilmente PHP

  1. if (isset($_POST['nome']))
  2. {
  3. setcookie("logutenti", $_POST['nome'], time() + 31536000);
  4. header("Location: index.html");
  5. die();
  6. }


significa: se è stato appena inviato il contenuto della textbox ke contiene il nome allora imposta un cookie sul browser in cui c'è scritto il nome dell'utente, poi manda l'utente alla pag index.html, se invece non è appena stato inviato nessun nome prosegui scrivendo il codice html sottostante che sarà appunto il form x inviare il nome.

Se c'è un problema nella scrittura o creazione della pagina è sicuramente in questa parte di codice:
Codice sorgente - presumibilmente PHP

  1. $fp = fopen("log.txt", "a+");
  2.  
  3. if (flock($fp, LOCK_EX) === true)
  4. {
  5. $log = date("d-m-Y", time());
  6. $log .= " ore ";
  7. $log .= date("H:i", time());
  8. $log .= " - ";
  9. $log .= $_COOKIE['logutenti'];
  10. $log .= "\r\n";
  11.  
  12. fwrite($fp, $log);
  13.  
  14. flock($fp, LOCK_UN);
  15. }
  16.  
  17. fclose($fp);


xò io nn vedo nessun problema.... forse non php sul tuo host nn ha i permessi per creare un file... o per scriverlo... prova a creare tu un file di nome   log.txt  nella stessa cartella in cui c'è il file index.html


forse il problema potrebbe essere ke questo file in cui c'è il codice php per scrivere il file nn venga eseguito dall'interprete php..
Ti spiego meglio: di default se tu crei un file con estensione html e inserisci del codice php quel codice php non viene eseguito.. Questo perchè il web server chiama l'interprete solo se un file ha estensione php. prova a rinominare il file index.html in index.php e vedi se va...
Se è questo il motivo successivamente dovrai modificare nel file log_user.php
header("Location: index.html");
in questo:
header("Location: index.php");
e di conseguenza il tuo sito sarà accessibile solo da index.php, ciò nn ti vieta di creare una pagina index.html in cui c'è un semplice redirect a index.php



Fregatene dei bot, anche un utente potrebbe inserire un nome falsato dato ke nn c'è controllo sul nome... Se non vuoi ke i nomi siano falsati  dovresti dare PERSONALMENTE ad ogni utente ke visita il sito un nick e una password.... Dato ke anche inserendo una registrazione obbligatoria, gli utenti potrebbero mettere nomi finti...

PS: ho cercato di essere il più possibile userfriendly dato ke hai detto di nn essere molto esperto nella programmazione:)

PM Quote
Avatar
queen_flavio (Normal User)
Newbie


Messaggi: 14
Iscritto: 22/02/2008

Segnala al moderatore
Postato alle 12:35
Domenica, 24/02/2008
Ciao,
ho rinominato il file html in php e ho aggiornato il codice. Ho creato personalmente il file txt, ma purtroppo il risultato non cambia.
Riesco ad inserire il nome ma il file txt non viene scritto.
Questo è l'indirizzo con il file php
http://www.pallamanoreusia.it/index.php
e questo è l'indirizzo del form
http://www.pallamanoreusia.it/log_user.php

Magari ti possono essere utitli per capire se c'è qualcosa che non va.
Grazie mille ancora per l'aiuto
Flavio

PM Quote
Avatar
bangirasu (Normal User)
Rookie


Messaggi: 39
Iscritto: 15/08/2007

Segnala al moderatore
Postato alle 15:25
Domenica, 24/02/2008
Ho provato personalmente lo script per controllare se magari ci fosse qualche errore ma a me funziona perfettamente...
allora fai una prova: crea una cartella qualsiasi nel tuo spazio web (penso ke lo dovrai fare tramite ftp) e poi in questa nuova cartella metti i file ke ti ho uploadato qui:
http://ul13.rapidshare.de/cgi-bin/upload.cgi?rsuploadid=14 ...
sono semplicemente i due file log_user.php e index.php.
A questo punto prova a connetterti a "www.tuosito.it/cartella_creata" naturalmente tuosito.it deve essere il tuo sito e cartella_creata è la cartella ke hai creato precedentemente.
La pagina index.php automaticamente ti rediretterà alla pagina log_user.php in cui dovrai inserire il tuo nome e da questa verrai redirettato alla pagina index.php.
dopo aver fatto questo semplicissimo procedimento controlla nel tuo spazio web se è stata creato il file log.txt nella cartella cartella_creata.
Se non c'è penso ke php non abbia il permesso di modificare/creare file e dovrai kiedere all'amministratore...
Se c'è potresti trovare un'ora diversa a causa del fuso orario della nazione del tuo server...
Penso di aver detto tutto... fammi sapere se va tutto... poi puoi modificare il file index.php aggiungendo dopo il ?> la tua homepage e naturalmente dovrai portare fuori dalla directory creata i 3 file contenuti e inserirle nella root del sito. :k:

PM Quote
Avatar
queen_flavio (Normal User)
Newbie


Messaggi: 14
Iscritto: 22/02/2008

Segnala al moderatore
Postato alle 16:19
Domenica, 24/02/2008
Ciao,
illink rapid share non funziona, quindi non posso porvarlo. Se vuoi puoi mandare il file direttamente a webmaster@inthelapofthequeen.it
GRazie mille, FLavio

Ps. è la stessa cosa se la cartella la creo direttamente con dreamweaver?

PM Quote
Avatar
bangirasu (Normal User)
Rookie


Messaggi: 39
Iscritto: 15/08/2007

Segnala al moderatore
Postato alle 21:16
Domenica, 24/02/2008
sorry ho sbagliato il link... :(
questo è quello giusto:
http://rapidshare.de/files/38665106/directory.zip.html

Dovrebbe andare bene metterle utilizzando dreamweaver...

Ultima modifica effettuata da bangirasu il 24/02/2008 alle 21:17
PM Quote
Avatar
queen_flavio (Normal User)
Newbie


Messaggi: 14
Iscritto: 22/02/2008

Segnala al moderatore
Postato alle 22:07
Domenica, 24/02/2008
Ciao,
purtroppo non funziona. Non mi cerca nemmeno il nome. Per testarlo ho aperto direttamente log_user.php, inserisco il nome, ma non viene creato nessu file txt. Ho anche provato a caricare personalmene il file txt, ma anche così non succede nulla.
Arrivato a sto punto credo che sia un problema di permessi del dominio. Io ho il dominio base di aruba, c'è la possibilità che non supporti il php? Ora scrivo agli amministratori vediamo un po' che mi dicono.

Su quell'altro esempio, senza l'uso di cookie che mi sai dire?

Flavio

PM Quote
Avatar
bangirasu (Normal User)
Rookie


Messaggi: 39
Iscritto: 15/08/2007

Segnala al moderatore
Postato alle 19:04
Lunedì, 25/02/2008
Non puoi non usare cookie... E comunque anche se non volessi utilizzare cookie questo non risolverebbe il problema della scrittura su file... Chiedi se Aruba blocca la scrittura/modifica di file da parte di script php.
Per vedere se il php è attivo sul tuo dominio basta ke crei un file cn scritto questo:
<?='PHP attivo'?>
se ti verrà stampato "PHP attivo" allora hai il supposto php
se la pagina rimane bianca nn lo hai.

PM Quote
Avatar
queen_flavio (Normal User)
Newbie


Messaggi: 14
Iscritto: 22/02/2008

Segnala al moderatore
Postato alle 23:26
Lunedì, 25/02/2008
Testo quotato

Postato originariamente da bangirasu:

Non puoi non usare cookie... E comunque anche se non volessi utilizzare cookie questo non risolverebbe il problema della scrittura su file... Chiedi se Aruba blocca la scrittura/modifica di file da parte di script php.
Per vedere se il php è attivo sul tuo dominio basta ke crei un file cn scritto questo:
<?='PHP attivo'?>
se ti verrà stampato "PHP attivo" allora hai il supposto php
se la pagina rimane bianca nn lo hai.



PHP è attivo, ho inoltrato il problema ad aruba, sn in attesa di risposta. Appena ho notizie scrivo.
Grazie, Flavio

PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo