Salve ragazzi ho bisogno d aiuto devo creare un database per uno studio medico chi mi può aiutare ? Grazie
Salve ragazzi ho bisogno d aiuto devo creare un database per uno studio medico chi mi può aiutare ? Grazie
Su altervista puoi utilizzare mysqlite o mysql. Con il primo, visto che è gestito con file di testo, puoi creare quanti database vuoi ma è meno performante. Invece, utilizzando mysql puoi utilizzare soltanto un database, che nel tuo caso si chiama "my_KeRmIt1"; vedi qui.
Ciao!
regolamento altervista_______________ regolamento forum
No io ho il database pronto e funzionante ma vorrei dei chiarimenti ad esempio :
Dopo che l utente è registrato visualizzo :profilo.php
Nome utente
User id
E fin qui tutto bene
Ma se aggiungo una riga no. Riesco a far stampare a video e mi da errore get Connectition
Preciso meglio mi stampa a video solo le informazioni basate sulla registrazione utente ma se voglio inserire altri dati come faccio ?
Che script stai utilizzando?
In generale, per salvare altri dati dovresti fare altre colonne nel database.
Ciao!
regolamento altervista_______________ regolamento forum
Allora sto usando l esempio base da questo sito :
http://soulcanada.altervista.org/blo...98223876953125
Da questo esempio sono riuscito a collegare al mio database e funziona perfettamente dopo aver corretto un paio d errori sulla connessione ma adesso se voglio inserire ad esempio un altro campo non mi stampa a video le informazioni sul campo creato
Se lo lascio così stampa solo nome , email e id . Se inserisco nuovo campo (testo medicina ) nel database e le inserisco nella pagina profilo view e model x farle stampare a video mi stampa solo questo :
Pagina profilo di Marco Pippo
ID Utente: 1
Indirizzo email: marcopippo@libero.it
Nome: Marco Pippo
testo medico: ( questo campo non. Lo stampa )
Esegui il logout
Modello: models/profile.php
Vista: views/profile.php
Pagina pubblica: profile.php
La pagina Profilo serve per stampare a video le informazioni dell'utente loggato nel sistema.
Le informazioni presenti in questa pagina sono prese direttamente dalla sessione ma è possibile includere tutti i dati che volete.
Ogni utente visualizza solamente le informazioni relative al proprio account e non le informazioni relative ad altri utenti.
Ultima modifica di KeRmIt1 : 06-06-2014 alle ore 01.43.01
puoi mostrare il codice interessato che stai usando e che hai modificato?
Ciao!
regolamento altervista_______________ regolamento forum
D'accordo
Questa che ho inserito ë la pagina profilo.php contenuta nella cartella viewCodice PHP:
1
<h1>Pagina profilo di <?php echo $userName; ?></h1>
2
<ul>
3
<li><strong>ID Utente: </strong><?php echo $userId; ?></li>
4
<li><strong>Indirizzo email: </strong><?php echo $userEmail; ?></li>
5
<li><strong>Nome: </strong><?php echo $userName; ?></li>
6
<li><strong>testo medico: </strong><?php echo $testoMedico; ?></li> ------>>>//* è questo il punto che intendo io
7
</ul>
8
<a href="logout.php">Esegui il logout</a>
9
<hr/>
10
<ul>
11
<li><strong>Modello: </strong>models/profile.php</li>
12
<li><strong>Vista: </strong>views/profile.php</li>
13
<li><strong>Pagina pubblica: </strong>profile.php</li>
14
</ul>
15
<hr/>
16
<p>La pagina Profilo serve per stampare a video le informazioni dell'utente loggato nel sistema.</p>
17
<p>Le informazioni presenti in questa pagina sono prese direttamente dalla sessione ma
18
è possibile includere tutti i dati che volete.</p>
19
<p>Ogni utente visualizza solamente le informazioni relative al proprio account e non le informazioni
20
relative ad altri utenti.</p>
Questa é invece il modello sono collegate tra loroCodice PHP:
1
<?php
2
3
4
/*
5
* Utilizzando la sessione, recupero le
6
* informazioni di base dell'utente e,
7
* tramite la vista, le stampo a video
8
*/
9
10
11
12
$userId = sessionGetInformation('user_id');
13
14
$userEmail = sessionGetInformation('email');
15
16
$userName = sessionGetInformation('name');
17
18
$testoMedico =sessionGetInformation('testomedico ');
19
E questo po' quel che succede in quella pubblica
Questo é tutto :) e grazie sempreCodice PHP:
1
<?php
2
3
// includo le funzioni per gestire le sessioni
4
require_once 'inc/session.php';
5
6
// faccio partire la sessione
7
sessionStart();
8
9
// Controllo se l'utente loggato e, nel caso
10
// non sia loggato, lo rimando alla pagina di login
11
if (false == sessionUserIsLogged())
12
{
13
header('Location: login.php');
14
}
15
16
// includo il modello per la pagina del profilo
17
require_once 'models/profile.php';
18
19
// includo la vista per la pagina del profilo
20
require_once 'views/profile.php';
21
22
?>
Ultima modifica di alemoppo : 06-06-2014 alle ore 15.40.42 Motivo: unione messaggi
Non conosco il funzionamento dello script, ma immagino dal nome che la funzione sessionGetInformation() prenda i dati dalla sessione. Quindi, al login, questi dati vengono salvati nella sessione? Hai inserito nel database la colonna per salvare queste informazioni? E queste informazioni vengono salvate nel database?
Inoltre, occhio che:
Contiene uno spazio alla fine.Codice PHP:
$testoMedico =sessionGetInformation('testomedico ');
P.s: NON fare una risposta per ogni frase, altrimenti impiego più tempo a sistemare tutto invece che a rispondere. Se vuoi aggiungere dei contenuti, modifica il messaggio precedente.
Ciao!
Ultima modifica di alemoppo : 06-06-2014 alle ore 15.47.53
regolamento altervista_______________ regolamento forum
Si esatto li ottiene dalla sessione ma ...
Codice PHP:
$testoMedico =sessionGetInformation('testomedico'); ---> nessun errore ho sbagliato a inserire qui ma è corretto :)
Questa riga l ho aggiunta io da manuale sul database quindi quest ultima non fa parte della sessione di login ma l ho aggiunta io successivamente quindi come faccio a richiamarla ?
Ultima modifica di KeRmIt1 : 06-06-2014 alle ore 16.17.31
Per salvare nuovi dati sul database, devi aggiungere la colonna per scriverci. Poi al momento della registrazione (o quando vuoi, dipende da quel che vuoi fare), devi inserire il dato nel database.
Quando l'utente effettua il login, devi caricare anche questo dato nella sessione, e poi puoi usare la sessionGetInformation() per prendere l'informazione (o almeno penso, vedendo il nome della funzione).
Se salti una di queste cose qua sopra, ovviamente non funzionerà correttamente.
Sei in grado di verificare queste cose o necessiti di un aiuto?
Ciao!
regolamento altervista_______________ regolamento forum
No ho bisogno d aiuto da cosa bisogna cominciare ?
Ok sono riuscito a capirlo il codice ma adesso ho un altro problema :
Come faccio a creare il codice per far recuperare la password ad un utente ?
Partendo dal presupposto che le password non vanno salvate in chiaro sul database, non dovresti esser in grado di recuperare la password originaria. Quindi un modo è quello di generare una password random, aggiornare il database e inviare la password ad esempio tramite email all'utente.
Ciao!
regolamento altervista_______________ regolamento forum
Si ma deve essere l utente a modificarla non devo farlo io da manuale come devo scrivere il codice ?
Un aiuto no ?
Beh sì, ma così genericamente è difficile aiutarti, anche perché oltre a non conoscere come hai impostato lo script, non so come vuoi effettuare il recupero con precisione.
In generale per avere una linea puoi guardare il file "recupero.php" di questo scriptino che avevo fatto.
Ovviamente se incontri problemi o non riesci a capir qualcosa facci sapere.
Ciao!
regolamento altervista_______________ regolamento forum
Ti posso caricare lo script così puoi aiutarmi meglio
Cosa aspetti? :-)
Altermetax sei interessato al codice ?
Ok, se vuoi carica il codice così creiamo un file per il recupero.. intanto vediamo il funzionamento di recupero.php di alemoppo:
All' inizio controlla che sia già stato usato il form (if(isset($_POST['user'],$_POST['email']))), poi carica funzioni.php e config.php, se è stato inserito il nome utente tira fuori dal database l' email, se è stata inserita l' email tira fuori il nome utente, poi crea una nuova password random, invia una email all' indirizzo dell' utente. Se il form non è stato usato lo mostra e chiede di inserire i dati. (Grazie alemoppo per aver scritto codice ben leggibile).Codice PHP:
<?php
/*
© by alemoppo (Moroni Alessandro)
*/
if(isset($_POST['user'],$_POST['email']))
{
require('./config.php');
require_once('./funzioni.php');
$procedi = FALSE;
if(!empty($_POST['user']))
{
$username = mysql_real_escape_string($_POST['user']);
$q = mysql_query('SELECT email FROM utenti WHERE username = \''.$username.'\' LIMIT 1');
if(!$q)
echo 'Errore durante la query 1'.mysql_error();
if(mysql_num_rows($q) != 1)
{
echo 'Nessun utente '.$_POST['user'].' trovato. <br>';
}
else
{
$row = mysql_fetch_assoc($q);
$email = $row['email'];
$procedi = TRUE;
}
}
else if(!empty($_POST['email']))
{
$email = mysql_real_escape_string($_POST['email']);
$q = mysql_query('SELECT username FROM utenti WHERE email=\''.$email.'\' LIMIT 1');
if(!$q)
echo 'Errore durante la query1: '.mysql_error();
if(mysql_num_rows($q) != 1)
{
echo 'Nessuna email '.$_POST['email'].' trovata. <br>';
}
else
{
$row = mysql_fetch_assoc($q);
$username = $row['username'];
$procedi = TRUE;
}
}
else
echo 'Occorre inserire o username, o email.<br>';
if($procedi)
{
$new_pass = stringa_random();
$attivazione = stringa_random();
$q = mysql_query('UPDATE utenti SET pass = \''.md5($new_pass).'\', attivazione=\''.$attivazione.'\' WHERE username = \''.$username.'\'');
if(!$q)
echo 'Errore durante la query2: '.mysql_error();
else
{
$oggetto = 'Reset password';
$testo = "Reset effettuato correttamente.\n\nNuova password: $new_pass\n(potrai modificarla)\n\nUtente: $username\n\nVisita questo indirizzo per confermare:\nhttp://".$_SERVER['SERVER_NAME'].'/'.cartella()."iscrizione.php?riatt=".$attivazione."\n";
if(!mail($email,$oggetto,$testo,HEADER_MAIL))
echo 'Errore invio durante email';
else echo 'Abbiamo inviato un email con la nuova password generata automaticamente. Prima che diventi attiva, occorre confermare dall\'email.<br>';
}
}
mysql_close($db);
}
?>
Immetti nome utente o email per ricevere via email una nuova password:
<form name="login" method="post" action="<?= $_SERVER['PHP_SELF']; ?>">
<table style="cellpadding:5px; background-color:<?php require_once('./funzioni.php'); echo colore(); ?>" >
<tr><td>Username:</td><td><input type="text" name="user"></td></tr>
<tr><td>email:</td><td><input type="text" name="email"></td></tr>
<tr><td align="center" colspan="2"><input type="submit" value="Invia" name="submit"></td></tr>
</table>
</form>
Ciao!
PS Non usare questo codice! Infatti per funzionare richiede funzioni.php e config.php!!!
Lo carico entro lunedì :)
A questa discussione mi aggrego anch'io dato che lo script che si sta utilizzando l'ho creato io ed è correlato ad una guida che ne spiega passo passo il funzionamento.
Per il recupero della password (esattamente come vuoi farla tu) ti basta leggere La pagina di cambio password che spiega nel dettaglio quali operazioni devi fare per ottenere quello che vuoi inoltre, nello script, sono presenti già tutte le funzioni che ti serviranno per implementare il codice.
Ciao soulcanada non credevo che fossi ancora operativo :D , ne approfitto x farti i complimenti , ho una discreta esperienza in c++ ma il mysql non lo avevo mai toccato come argomento ho imparato molto ed é stato molto costruttivo :) detto questo ritorniamo al discorso :
Ho capito e letto il discorso base e se ho capito bene dovrei creare dei blocchi if - else che controllato il Token e la email corrispondente é giusto come ragionamento ?
Si ho visto che contiene gli script ma devo ancora capire il concetto di come collegare il tutto mysql é simile al c++ ma differisce in alcuni punti base :)
Ultima modifica di KeRmIt1 : 16-06-2014 alle ore 03.18.18
Grazie per i complimenti e comunque si, sono sempre attivo anche se non sempre mi faccio sentire.
Tornando al discorso si, devi dapprima controllare l'esistenza del token nel database e a quel punto puoi mostrare il form per consentire il cambio password; una volta sottomesso il form rifai il controllo sul token in modo da avere la corrispondenza dell'utente nel database e solo allora puoi aggiornare la password.
Ok soulcanada ho caricato il form e funziona l utente riceve la mail x aver la conferma che é lui l utente che ha fatto la richiesta e cliccando sul l k lo reindirizza al form cambio password adesso sta qui il problema XDnon credo che basti fare la sommatoria ==0 errori
Ultima modifica di KeRmIt1 : 16-06-2014 alle ore 15.21.39