- Home
- Categorie
- Coding e Sistemistica
- PHP
- [Tutorial] Area privata
-
Ciao pozzz,
entrambi i problemi, se non ricordo male, sono stati già trattati nelle pagine di questa discussione, se cerchi un pò dovresti già trovare tutto il necessario. I campi della tabella del database puoi crearli utilizzando phpmyadmin invece di scrivere la query, che è più semplice.
-
@Thedarkita said:
Ciao pozzz,
entrambi i problemi, se non ricordo male, sono stati già trattati nelle pagine di questa discussione, se cerchi un pò dovresti già trovare tutto il necessario. I campi della tabella del database puoi crearli utilizzando phpmyadmin invece di scrivere la query, che è più semplice.
Infatti ho trovato la parte in cui si parla di differenziare le pagine per ogni utente, ma quando si avvia la discussione il messaggio successivo dice risolto e non viene spiegato pubblicamente come.
-
Per far accedere una determinata pagina solamente all'utente avente ID 1, il controllo da utilizzare è il seguente:
[php]
if(!isset($_SESSION['login']) || $_SESSION['login'] != 1)
die('Accesso non autorizzato');
[/php]
-
Ciao thedarkita,ti volevo chieder un informazione...sto quasi alla fine del tutorial che ci hai suggerito e per adesso non sto avendo problemi!anzi grazie per le dritte che mi hai dato! ora voglio chiederti un informazione per il mio form in php ho creato un form con nome utente email commento,e vorrei inserire due pulsanti radio,dove c'è scrtitto ad uno dott. e all'altro dott.sa in modo da specificare il sesso e il pulsante invia che lo invia in una pagina in php denominata scriptmedica.php...dentro c'è questo contenuto
<?php
$data=date("d-m-y");
$ora=date("G:i");
$nome=Stripslashes(Strip_tags($_POST['nome']));
$mail=Stripslashes(Strip_tags($_POST['mail']));// qui vanno inseriti i pulsanti radio
$commento=Stripslashes(Strip_tags($_POST['commento']));
$commento= nl2br($commento);
$codice = $_POST['codice'];
$codice_x = $_POST['codice_x'];
$ip=$_SERVER['REMOTE_ADDR'];
$ver = $_POST['num'];
if (( $nome == "" ) || ( $mail == "" ) || ( $commento == "" ) || ($ver != '6')||($codice != $codice_x)) {header("Location: ://.il mio sito/medica.php");
//qui la verità avrei voluto inserire qualche scritta in rosso con esempio:
non hai inserito completato i campi correttamente oppure che mi segnalasse in rosso i campi che risultano sbagliati
Mentre adesso invece se un campo non me lo compila nel modo giusto mi ritorna di nuovo alla pagina del form.Non so come fare la funzione appena descritta
andiamo avanti\ se l'utente ha compilato perfettamente il form invece\
} else {
$leggi_file=fopen("public/medicina.txt","r");
$dim_file=filesize("public/medicina.txt");
$contenuto=@fread($leggi_file,$dim_file);
fclose($leggi_file);
$var=fopen("public/medicina.txt","r+");\adesso mi creo una tebella
fwrite($var, ' <table width="270" border="0">
<tr>
<td width="270">Ciao: <b>'."$nome". '</b><br>In
data: '."$data".' alle ore: '."$ora".'</b><br>E-Mail: <a href="mailto:'."$mail".'">'."$mail".'</a><br>Url: <a href="'."$url".'" target="_blank">'."$url".'</a><br> scrive: <br><b>'."$commento".'</b><br>
Ecco il tuo codice IP <b>'."$ip".' </b></td>
</tr>
</table>'."$contenuto");
fclose($var);
header("Location: ://mio sito/medica.php");
}
?>
ora secondo te esiste un metodo migliore esteticamente?cio'è mi riferisco nel caso l'utente non ha comilato i campi e poi i pulsanti radio mi servirebbero prima del nome
esempio se viene selezionato il pulsante radio dott. prima del nome ci sia scritto dott. o viceversa.Chiaro?
-
Ciao dontorus,
non mi sembra che il codice da te postato riguardi l'area privata, pertanto sarebbe meglio discuterne in una discussione dedicata al tuo problema.
-
Ok...giusto cercherò di trovare il posto giusto!:D
-
Ciao, ti chiedo un ultima cosa,
se volessi visualizzare nella pagina personale oltre al nome utente, la stringa "punti" che modifico personalmente nel mysql per ogni utente, e ovviamente ogni utente può visualizzare solo i suoi punti, ho provato dopo aver creato il campo "punti" nel db a inserire <?php echo $_SESSION['punti'];?> ma ovviamente non funziona.
Sai dirmi il perchè?
-
Ma non credete che sia il caso di studiarsi un po' di base di php prima di 'buttarsi' in queste cose?
Il forum dovrebbe servire per le 'dritte' e la condivisione reciproca, non per spiegare l'ABC...
Scusate l'intromissione e la franchezza...
-
Ho sicuramente lo stesso problema di Pozzz ... identico!
Non avendo il tempo di studiare il php anche per il fatto che penso che sia l'ultima volta che lo userò mi affido a voi!Quello che serve è probabilmente mezza riga di codice che richiama i dati personali da una tabella precedentemente creata sul Mysql Aruba.
esempio della tabella
NOME MAIL USER PUNTI (voce creata da me)
MARIO mario_at_libero.it marioilgrande 100 pt
LUIGI luigi_at_virgilio.it lasola85 50 pt
GIOVANNA giovanna_at_hotmail.it meretrice22 1100 ptAdesso... per ognuna di queste persone che accede...
è semplice che il codice scaricato da internet faccia comparire il messaggio:Ciao Mario , o tu che ti sei registrato come marioilgrande di username e vanti la mail mario_at_libero.it ...
ma il problema è aggiornarlo su fatto che ha 100 punti!
Ho provato a rippare il codice della mail e dell'username per adattarlo al campo punti ma senza successo...
La cosa più bella è che uno di voi mi dica qual'è il codice php per richiamare dati personali da un campo di una tabella mysql creato da me. (E se c'è qualche accorgimento particolare nella creazione del campo della tabella da mettere in pratica)
Insomma... saranno probabilmente 2 righe di codice... una roba simile:
<p>I TUOI PUNTI TOTALIZZATI SONO: <?ph$$$$$£££"£$%&T echo#@PAROLA SEGRETA CHE RICHIAMA IL CAMPO PUNTI CREATO DA ME NELLA TABELLA MYSQL**@@##==))); ?> </p>
Grazie dell'aiuto!
-
Qualche pagina dietro abbiamo trattato come passare tramite sessione o facendo una nuova query un campo della tabella, ovviamente le basi di php vanno studiate in quanto questo è un tutorial per mettere in pratica quanto appreso precedentemente a livello teorico.
-
@necrosql said:
<p>I TUOI PUNTI TOTALIZZATI SONO: <?ph$$$£££"£$%&T echo#@PAROLA SEGRETA CHE RICHIAMA IL CAMPO PUNTI CREATO DA ME NELLA TABELLA MYSQL**@@##==))); ?> </p>
Grazie dell'aiuto!
Non esistono parole segrete e formule magiche...Php è un linguaggio semplice... per apprenderlo bisogna avere una solida base di html e poi non serve spendere un centesimo... la Rete è piena di materiale da leggere e studiare... per poi smanettare... imparando!
La cosa più importante non è conoscere le funzioni a memoria... bisogna solo capire il funzionamento delle colonne portanti del linguaggio come le variabili, gli array ecc... (bastano pochi esercizi e un minimo di applicazione...) e poi si tratta di LOGICA...
Lo stesso risultato si può raggiungere in diversi modi... dipende dalla 'fantasia' del programmatore...
Scopiazzare codici non porta a nulla... si avrà sempre un problema... senza capire dove sbattere la testa...
Avere le basi è importante; l'ultimo messaggio di Thedarkita contiene praticamente la soluzione al problema solo che a chi non ha le basi non dice nulla, chi invece ce le ha capisce al volo la strada da intraprendere e risolve il problema, anche se è una cosa che non ha mai fatto!Posso tranquillamente affermare che è molto meno dispendioso, sia in termini di tempo che in termini di 'stress', farsela una base in modo da essere autonomi o quasi; al contrario, girando i forum 'elemosinando' soluzioni già pronte e scopiazzando a destra e manca, si rimane sempre al palo!
-
Ciao Thedarkita,
a proposito della pagina con la lista degli utenti iscritti, se ne è parlato in terza pagina di questo tutorial, io ho un problema dal quale non riesco ad uscire.:x
Ho preso il codice che avevi postato, me lo sono sistemato con i dati che interessano a me e funziona, se non per il fatto che mi visualizza solo gli utenti dentro al limite che definisco, ossia 25 nel mio caso.
Sopra la lista mi compaiono gli indici delle pagine, ma cliccandoli mi fa vedere sempre gli ultimi 25 utenti iscritti
Ti copio qui sotto il mio codice:<?php
$page = (isset($_GET['page'])) ? $_GET['page'] : 1;$limit = ($page-1)*25;
$query="SELECT user, date_format(data, '%Y/%m/%d alle ore %H:%i:%s') AS data FROM utenti ORDER BY data DESC";
$result= mysql_query($query);
$pagine = ceil(mysql_num_rows($result)/25);echo '<table><tr><td>';
for($i=1; $i<=$pagine; $i++)
{
echo '<a href="utenti.php?page='.$i.'">'.$i.'</a> ';
}
echo '</td></tr>';
while($row = mysql_fetch_array($result))
{
echo '<tr><td>'.$row['user'].', iscritto il: '.$row['data'].'<br>;
}
echo '</table>';
?>Ho provato e riprovato, ma nulla da fare, se tu, o qualcun'altro, mi può dare una mano ve ne sarei davvero grato!
-
Ciao,
innanzi tutto grazie mille per questo tutorial.
Pur non capendo niente di php sono riuscito a istallarlo e farlo funzionare......ora però io avrei bisogno di bloccare l'accesso all'area privata, nel senso che vorrei essere io a fornire username e password agli utenti...
come posso fare?
grazie ancora
-
ciao scusate potreste postarmi l codice per una pagina che serva a cambiare password
-
Ciao, devi fare una semplice Update sul campo che ti interessa
-
Scusatemi non mi sono espresso corrretamente intendevo una pagina con un form del tipo nome utente,vecchia password,nuova password,conferma passsword
-
io avevo fatto queato ma nn funziona[php]<?php
// Includo la connessione al database
require('../area_privata/config.php');$user = $SESSION['userloggato'];
if ($user) {//user is logged in
if ($_POST['submit']) {
// check fields
$oldpassword = md5($_POST['vpass']);
$newpassword = md5($_POST['pass']);
$repeatnewpassword = md5 ($_POST['pass2']);//connect db
$db_host = "localhost";
$db_user = "ciberioegiro";
$db_password = "miapass";
$db_name = "my_ciberioegiro";//connetto il database
$db = mysql_connect($db_host, $db_user, $db_password) or die ('Errore durante la connessione');
mysql_select_db($db_name, $db) or die ('Errore durante la selezione del db');$queryget = mysql_query("SELECT pass FROM WHERE user='$user'") or die ("Query didnt work");
$row = mysql_fetch_assoc($queryget);$oldpassworddb = $row['pass'];
echo $olrdpassworddb."<br>";
echo $oldpassword."<br>";//check passwords
if ($oldpassword==$oldpassworddb)
{// check two new passwords
if ($newpasword==$repeatnewpassword){
//success
//change password in db$querychange = mysql_query("UPDATE utenti SET pass='$newpassword' WHERE user='$user'") or die ("Your password has been changed. <a href='index.php'>Rerturn to main page.");
} else {
print ("New passwords don't match!");
}
} else {
print ("Old password doesnt match!");
}
} else {
echo "";
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html xmlns="w3.org/1999/xhtml">
<?php include("../area_privata/configuratoriphp/head.php")?>
<div id="container">
<?php include("../area_privata/configuratoriphp/header.php")?>
<?php include("../area_privata/configuratoriphp/nav.php")?>
<?php include("../area_privata/configuratoriphp/colsx.php")?>
<div id="coldx"><div id="contenuti"> <div class="boxcontenuti">
<!--inizio contenuto principale-->
<!--<p> </p>-->
<br /><h2>AREA RISERVATA DOCENTI</h2>
<div id="centra_ingresso">
<form class="ingresso" name="logForm" id="logForm" action='cpassword.php' method='post'>
<fieldset><legend><strong>Modulo cambia password</strong></legend> <div> <label for="username">Username</label> <input class="required grigio" id="user" type='text' name='user' value="<?php echo $_SESSION['userloggato'];?>" /> </div> <div> <label for="vecchiapassword">Vecchia password</label> <input class="required password" id="vpass" type='password' name='vpass' /> </div> <div> <label for="password">Nuova password</label> <input class="required password" id="pass" type='password' name='pass' /></p> </div> <div> <label for="password2">Ripeti nuova password</label> <input class="required password" id="pass2" type='password' name='pass2' /> </div> <div> <p><input type='submit' value='CAMBIA PASSWORD'> </p> </div> </fieldset>
</form>
</div><!--fine contenuto principale-->
</div>
</div><!--fine sottocontenitore centrale-->
</div>
</div>
<?php include("configuratoriphp/footer.php");?>
</body>
</html>[/php]
-
Ciao greezle,
questa cosa è già stata trattata in alcuni post, ti basta togliere la pagina di registrazione.
Anche il cambio password mi sembra sia già stato trattato.
-
Ciao scusatemi ma nei post precedenti non ho trato niente per il reimposta password(non il recupera).
-
Ciao Thedarkita, il tutorial è veramente incredibile.
Ho seguito tutta la conversazione e attivato una versione di test funzionante del sistema di login.
Ora però proprio non riesco a capire come far in modo che, una volta loggato correttamente, ogni utente sia indirizzato ad una pagina specifica a lui dedicata: una pagina privata per ogni utente. Ho cercato nel corso del tutorial di capire come fare ma non ho trovato risposta. Potessi aiutarmi te ne sarei grato.
Ciao.