se lascio solo un file di testo in testi/ mi dice che nn posso cancellarlo..!!!
lo devo cancellare manualmente allora...
Printable View
se lascio solo un file di testo in testi/ mi dice che nn posso cancellarlo..!!!
lo devo cancellare manualmente allora...
Ma è sempre lo stesso file che non riesci a cancellare?
I permessi CHMOD per quel file sono impostati correttamente?
Ovvero?Citazione:
mi dice che nn posso cancellarlo
Qual'è il testo dell'errore precisamente?
online funziona perfettamente,...
cmq, sono molto soddifatto di questo sistema, e vorrei scoprire come scrivere su database al posto di file.txt!
Mi potete postare qualche codice di esempio o avete qualche lettura da consigliarmi???
Grazie millea ncora per tutto!!!:wink:
il sistema è completamente diverso.. per i database si utilizza una libreria di funzioni diversa da quella usata per la gestione file...
qui il manuale.. http://it.php.net/manual/it/ref.mysql.php
Se guardi nei threads in rilievo puoi trovare molti links a guide in merito.
Come primo approccio all'interazione php-mysql puoi provare a vedere qui.
Il funzionamento di mysql unito a php è ben spiegato lì e per cominciare va benissimo.
Poi più avanti o come supporto alla guida che ti ho consigliato, per approfondire funzioni mysql e metodi, puoi procedere nel leggere su php.net come consigliato da ShadowStorm.
Grazie mille sono riuscito a fare praticamente tutto!
Una cosa solo, la data io ho impostato DATETIME che fa 0000:00:00 e poi l' orario.. la data su databse la stampo con date("j/n/y/G/i/s") come faccio a vedere la data al contrario? cioe 21/08/2007 al posto di 2007/08/21 mentre leggo il db?
Ah, poi una cosa che nn c' era nella guida,come faccio a deletare delle cose?
Per eliminare records devi usare delete.
Per la data, mettiamo che $data sia la data di cui convertire il formato:
Oppure:Codice PHP:
$p=explode("/",$data);
$anno=$p['0'];
$mese=$p['1'];
$giorno=$p['2'];
echo $giorno."/".$mese."/".$anno;
Ciao!Codice PHP:
$p=explode("/",$data);
$anno=$p['0'];
$mese=$p['1'];
$giorno=$p['2'];
echo data("d/m/Y",mktime(0,0,0,$mese,$giorno,$anno));
il problema é che insieme scrivo l' ora!!!
Io ti consiglio vivamente di togliere quel datetime e mettere al suo posto un campo int (11).
In questo modo poi puoi inserire direttamente il timestamp al momento dell'inserimento del record calcolandolo usando la funzione time().
Successivamente potrai formattarlo all'estrazione tramite la funzione date().
ho messo time() ma mi stampa uno strano numero, come faccio a leggerlo giusto?
Come ti ho detto.
Quello "strano numero" è il timestamp, ovvero il numero di secondi trascorsi dall' 1/1/1970 ad ora.
Per leggerlo "giusto" devi usare la funzione date() come detto nel post 39.
si, ho capito, ma nel date() mi basta inserirees j/m/y o roba del genere per vederlo?
date("d/m/Y",time()) - ti stampa:
21/08/2007
uhm... come faccio a abbinarla al db???
$data = date("d/m/Y/G/i/s",time($row[data]));
ma cosi mi scrive il momento in cui siamo adesso!
Ti stampa il momento in cui esegui lo script perchè hai usato time che serve per estrarre il timestamp attuale.
Fai così:
$data = date("d/m/Y/G/i/s",$row[data]);
adesso mi mostra: 01/01/1970/1/00/00
ho provato a salvarlo in altri modi diversi sul db da questo: $data = time();
ma sempre lo stesso risutato!!!
Ho controllato sul db che lo salvasse giusto INT(11) ed e tutto ok...
Se nel database inserisci il valore della funzione time, non può uscirti una data sbagliata. La data che visualizzi tu esce quando inserisci come valore 0.
ok, funziona,...
un' altra domandina....
in phpmyadmin se si inserisce tipo Password, automaticamente crypta la pass... come si fa con il codice a decryptarla per leggerla ed usarla?
Di solito per confrontare, se la password inserita è corretta, si cripta anche quella inserita e si confronta con quella criptata nel database.
si, ma io devo leggerla per utilizzarla!
quindi devo decryptare la password che mi passa il db!
EDIT: Forse ho capito quello che intendi, provo!
Se la password che inserisci viene criptata come quella che c'è nel database, la stringa risultante è la medesima e così controlli se la password è giusta.
devo fare qualcosa tipo sha1($password)?
per criptarla e poi confrontarla con quella del database..?
Non so con che algoritmo hai criptato nel database. Di solito io utilizzo la funzione md5 e inserisco la password nel database in un campo di testo normale.
la password non lo criptata io e poi lo passata al db,
io ho messo nel db che il tipo era PASSWORD, e me l' ha criptata lui in quel modo, ora devo riuscire a scoprire come la cripta! cosi che posso confrontarla con quella del db!
Togli quel campo password e metti semplicemente due campi varchar, uno chiamato password e uno chiamato salt.
Quando inserisci nel database un nuovo record, crypta la password in questo modo:
L'algoritmo generato in queste righe di script è teoricamente IMPOSSIBILE da decryptare.Codice PHP:
function salt(){
$psw="Password da cryptare";
$salt = '';
for ($i = 0; $i < 3; $i++)
{
$salt .= chr(rand(32, 126));
}
return $salt;
}
$salt=salt();
$password=md5(md5($psw).$salt);
mysql_query("INSERT INTO tabella (password,salt) VALUES ('$password','$salt')"); // query per inserire i valori nei campi salt e password, modifica questa riga
Naturalmente puoi modificare la query (nome della tabella e inserimento altri campi) e il valore di $psw, il resto possibilmente mantienilo invariato.
Poi quando ti serve puoi controllare se la password inserita dall'utente (nel mio esempio in un modulo POST) corrisponde a quella che si trova nel database in questo modo:
Le righe sopra modificale secondo le tue esigenze.Codice PHP:
$username=addslashes($_POST['username']);
$dati=mysql_query("SELECT password, salt FROM tabella WHERE username='$username'");
$dati=mysql_fetch_assoc($dati);
if($_POST['password']==md5(md5($dati['password']).$dati['salt']))
{
// utente riconosciuto , svolgi operazioni
}