- Home
- Categorie
- Coding e Sistemistica
- Coding
- Dare la possibilità agli utenti registrati di mandarsi dei messaggi
-
imposta la pagina e fai tutto io ti farò vedere
-
@massimux said:
imposta la pagina e fai tutto io ti farò vedere
eccol la pagina listaiscritti:)
[PHP]
<?
//Apro la sessione e...
session_start();
// opto quindi per la visualizzazione ai solo iscritti
if($_SESSION['logged']==1){
//se si...
?>
<html>
<head>
<body>
<table width="400" border="1" cellspacing="0" cellpadding="1" align="center">
<tr>
<td colspan="4">
<div align="center"><font color="#0000FF"><b>Lista iscritti</b></font></div>
</td>
</tr>
<tr>
<td>
<div align="center"><b>UTENTE</b></div>
</td><?
//mi connetto al datase
$link = mysql_connect("$db_host", "$db_database", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
//seleziono il database
mysql_select_db('my_italiawebchat') or die("Errore apertura database: " . mysql_error());
//seleziono solo il campo nome dalla tabella iscritti
$strsql="SELECT nome FROM iscritti";$rs=@mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
//faccio un ciclo while
while ($riga = mysql_fetch_array($rs)) {
$str_nome = $riga['nome'];echo "<tr><td>$str_nome</td><td>";
}//qui chiudi il while
}//qui chiudi l'IF
else {
//altrimenti...
echo "Non sei loggato...";
//annullo tutte le chiavi di sessioni se esistono
session_unset();
session_destroy();
header("Location: login.htm");
}
?>[/PHP]
-
[PHP]
<?
//Apro la sessione e...
session_start();
// opto quindi per la visualizzazione ai solo iscritti
if($_SESSION['logged']==1){
//se si...
?>
<html>
<head>
<body>
<table width="400" border="1" cellspacing="0" cellpadding="1" align="center">
<tr>
<td colspan="4">
<div align="center"><font color="#0000FF"><b>Lista iscritti</b></font></div>
</td>
</tr>
<tr>
<td>
<div align="center"><b>UTENTE</b></div>
</td><?
//mi connetto al datase
$link = mysql_connect("$db_host", "$db_database", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
//seleziono il database
mysql_select_db('my_italiawebchat') or die("Errore apertura database: " . mysql_error());
//seleziono solo il campo nome dalla tabella iscritti
$strsql="SELECT nome FROM iscritti";$rs=@mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
//faccio un ciclo while
while ($riga = mysql_fetch_array($rs)) {
$str_nome = $riga['nome'];echo "<tr><td><a href="inviamessaggio.php?destinatario=".$str_nome."">".$str_nome."</a></td><td>";
}//qui chiudi il while
}//qui chiudi l'IF
else {
//altrimenti...
echo "Non sei loggato...";
//annullo tutte le chiavi di sessioni se esistono
session_unset();
session_destroy();
header("Location: login.htm");
}
?>[/PHP]noterai una cosa strana
si :
<a href="inviamessaggio.php?destinatario=".$str_nome."">".$str_nome."</a>
Utilizzeremo una variabile GET quindi riprendiamo la pagina inviomessaggio e la modifichiamo così:[PHP]
<?
//Apro la sessione e...
session_start();
//verifico che dopo il login io abbia la chiave di sessione ad 1
if($_SESSION['logged']==1){
//se si...
//verifico se esiste la variabile destinatario
if(isset($_GET['destinatario']) OR $_GET['destinatario'] != ""){
$destinatario=$_GET['destinatario'];
}
?>
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Pannello di controllo utente</title>
</head><body>
<?
//facciamo una stampata a video!
echo "Ciao " . $_SESSION[nome] . "Scrivi il messaggio che vuoi inviare";
?>
<form method="post" action="invio.php">
<p>Destinatario</p>
<p><input type="text" name="destinatario" value="<?=$destinatario ?>"</p>
<p>Oggetto</p>
<p><input type="text" name="oggetto" value="" size="20"</p>
<textarea name="messaggio"></textarea>
<input type="submit" value="Invia messaggio">
</form>
<?
} else {
//altrimenti...
echo "Non sei loggato...";
//annullo tutte le chiavi di sessioni se esistono
session_unset();
session_destroy();
header("Location: login.htm");
}
?>
[/PHP]che ne dici?
-
@massimux said:
[PHP]
<?
//Apro la sessione e...
session_start();
// opto quindi per la visualizzazione ai solo iscritti
if($_SESSION['logged']==1){
//se si...
?>
<html>
<head>
<body>
<table width="400" border="1" cellspacing="0" cellpadding="1" align="center">
<tr>
<td colspan="4">
<div align="center"><font color="#0000FF"><b>Lista iscritti</b></font></div>
</td>
</tr>
<tr>
<td>
<div align="center"><b>UTENTE</b></div>
</td><?
//mi connetto al datase
$link = mysql_connect("$db_host", "$db_database", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
//seleziono il database
mysql_select_db('my_italiawebchat') or die("Errore apertura database: " . mysql_error());
//seleziono solo il campo nome dalla tabella iscritti
$strsql="SELECT nome FROM iscritti";$rs=@mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
//faccio un ciclo while
while ($riga = mysql_fetch_array($rs)) {
$str_nome = $riga['nome'];echo "<tr><td><a href="inviamessaggio.php?destinatario=".$str_nome."">".$str_nome."</a></td><td>";
}//qui chiudi il while
}//qui chiudi l'IF
else {
//altrimenti...
echo "Non sei loggato...";
//annullo tutte le chiavi di sessioni se esistono
session_unset();
session_destroy();
header("Location: login.htm");
}
?>[/PHP]noterai una cosa strana
si :
<a href="inviamessaggio.php?destinatario=".$str_nome."">".$str_nome."</a>
Utilizzeremo una variabile GET quindi riprendiamo la pagina inviomessaggio e la modifichiamo così:[PHP]
<?
//Apro la sessione e...
session_start();
//verifico che dopo il login io abbia la chiave di sessione ad 1
if($_SESSION['logged']==1){
//se si...
//verifico se esiste la variabile destinatario
if(isset($_GET['destinatario']) OR $_GET['destinatario'] != ""){
$destinatario=$_GET['destinatario'];
}
?>
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Pannello di controllo utente</title>
</head><body>
<?
//facciamo una stampata a video!
echo "Ciao " . $_SESSION[nome] . "Scrivi il messaggio che vuoi inviare";
?>
<form method="post" action="invio.php">
<p>Destinatario</p>
<p><input type="text" name="destinatario" value="<?=$destinatario ?>"</p>
<p>Oggetto</p>
<p><input type="text" name="oggetto" value="" size="20"</p>
<textarea name="messaggio"></textarea>
<input type="submit" value="Invia messaggio">
</form>
<?
} else {
//altrimenti...
echo "Non sei loggato...";
//annullo tutte le chiavi di sessioni se esistono
session_unset();
session_destroy();
header("Location: login.htm");
}
?>
[/PHP]che ne dici?
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /membri/italiawebchat/listaiscritti.php on line 35
-
non ti arrendere subito erano un po' di operazioni di debug da fare
di solito ti rispondo in modo veloce quindi non rileggo ciò che scrivo.... comunque ecco a te
[php]
<?
//Apro la sessione e...
session_start();
// opto quindi per la visualizzazione ai solo iscritti
if($_SESSION['logged']==1){
//se si...
?>
<html>
<head>
<body>
<table width="400" border="1" cellspacing="0" cellpadding="1" align="center">
<tr>
<td colspan="4">
<div align="center"><font color="#0000FF"><b>Lista iscritti</b></font></div>
</td>
</tr>
<tr>
<td>
<div align="center"><b>UTENTE</b></div>
</td><?
//mi connetto al datase
$link = mysql_connect("$db_host", "$db_database", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
//seleziono il database
mysql_select_db('my_italiawebchat') or die("Errore apertura database: " . mysql_error());
//seleziono solo il campo nome dalla tabella iscritti
$strsql="SELECT nome FROM iscritti";$rs=@mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
//faccio un ciclo while
while ($riga = mysql_fetch_array($rs)) {
$str_nome = $riga['nome'];echo "<tr><td><a href="inviamessaggio.php?destinatario=".$str_nome."">".$str_nome."</a></td><td>";
}//qui chiudi il while
}//qui chiudi l'IF
else {
//altrimenti...
echo "Non sei loggato...";
//annullo tutte le chiavi di sessioni se esistono
session_unset();
session_destroy();
header("Location: login.htm");
}
?>
[/php]
-
@massimux said:
non ti arrendere subito erano un po' di operazioni di debug da fare
di solito ti rispondo in modo veloce quindi non rileggo ciò che scrivo.... comunque ecco a te
[php]
<?
//Apro la sessione e...
session_start();
// opto quindi per la visualizzazione ai solo iscritti
if($_SESSION['logged']==1){
//se si...
?>
<html>
<head>
<body>
<table width="400" border="1" cellspacing="0" cellpadding="1" align="center">
<tr>
<td colspan="4">
<div align="center"><font color="#0000FF"><b>Lista iscritti</b></font></div>
</td>
</tr>
<tr>
<td>
<div align="center"><b>UTENTE</b></div>
</td><?
//mi connetto al datase
$link = mysql_connect("$db_host", "$db_database", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
//seleziono il database
mysql_select_db('my_italiawebchat') or die("Errore apertura database: " . mysql_error());
//seleziono solo il campo nome dalla tabella iscritti
$strsql="SELECT nome FROM iscritti";$rs=@mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
//faccio un ciclo while
while ($riga = mysql_fetch_array($rs)) {
$str_nome = $riga['nome'];echo "<tr><td><a href="inviamessaggio.php?destinatario=".$str_nome."">".$str_nome."</a></td><td>";
}//qui chiudi il while
}//qui chiudi l'IF
else {
//altrimenti...
echo "Non sei loggato...";
//annullo tutte le chiavi di sessioni se esistono
session_unset();
session_destroy();
header("Location: login.htm");
}
?>
[/php]Arrendere....?Makkè....sono stato fino le 2 e30 stanotte su quella riga 35 a cercare di capire cosa nn andava...
xquestione di / quindi....che serve da quel che so a far capire a php che in qella riga nn deve leggere...cmq caro antonio ora funziona...:)e grazie alla variabile GET che mi hai fatto aggiungere il valore destinatario viene automaticamente recuperato nel campo destinatario della pagina inviamessaggio.php....ottimo direi;)
ora sto provando a fare dei controlli sui campi vuoti...al momento che l utente inserisce deid ati...questa per esempio e la pagina per iscriversi...
[PHP]
<?php
//connessione al database con valori ovviamente non veri
$db_database = 'non_vera';
$db_username = 'false';
$db_password = 'false';
$db_host = 'localhost';
//recupero i valori dal form iscriviti
$cnome = $_POST['nome'];
$cutenteemail = $_POST['utenteemail'];
$csesso = $_POST['sesso'];
$cpassword = $_POST['password'];
$cdescrizione = $_POST['descrizione'];//effettuo controllo sui campi per vdere se sono vuoti
if(strlen($cnome)<=0 , strlen($cpassword)<=0 , strlen($cutenteemail)<=0) , strlen($cdescrizione)<=0 , strlen($csesso)<=0{
echo "Uno o piu’ campi vuoti<br>";}
//controlla la pass non ha piu’ di 7 caratteri
if (strlen($cpassword)>7) {
echo"attenzione la password deve avere non piu’ di 7 caretteri<br>";
}//controlla se e’ email o meno
if (!ereg('^([a-zA-Z0-9])+([.a-zA-Z0-9_-])@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-]+).([a-zA-Z]{2,6})$',$cutenteemail)) {
echo "email non valida!";
//se si verifica uno dei seguenti errori rimando alla pagina di login
header("Location: login.htm");
}
?>
//se invece e tutto a posto procedo con la connessione al database<?
$link = mysql_connect("$db_host", "$db_database", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
mysql_select_db('my_italiawebchat') or die("Errore apertura database: " . mysql_error());$strsql="INSERT INTO iscritti (nome,utenteemail,sesso,password,descrizione) VALUES ('$cnome','$cutenteemail','$csesso','$cpassword','$cdescrizione')";
@mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
echo "Grazie per esserti iscritto";?>
[/PHP]
-
bravo vedo che tu hai capito
voglio darti un'ultima chicca se ti và...
però prima devi studiarti questo:
http://it2.php.net/require
http://it2.php.net/manual/it/function.include.php
http://it2.php.net/manual/it/function.require-once.php
http://it2.php.net/manual/it/function.include-once.php
-
Praticamente tramite require potrei includere un file esempio configurazione.php in cui potrei mettere i dati di accesso al database e inserirlo tramite
[PHP]
require("configurazione.php");
[/PHP]
nelle pagine che voglio sia presente
-
bravo
ti consiglio require_once
-
[QUOTE=massimux;506047]bravo vedo che tu hai capito
voglio darti un'ultima chicca se ti và...
però prima devi studiarti questo:
nello script precedentemente sul controllo c'è un errore...:(
o:
quindi require_once (cioè valutato una sola volta)
pagina che controlla i campi
[PHP]
<?php
//connessione al database con valori ovviamente non veri
$db_database = 'non_vera';
$db_username = 'false';
$db_password = 'false';
$db_host = 'localhost';
//recupero i valori dal form iscriviti
$cnome = $_POST['nome'];
$cutenteemail = $_POST['utenteemail'];
$csesso = $_POST['sesso'];
$cpassword = $_POST['password'];
$cdescrizione = $_POST['descrizione'];//effettuo controllo sui campi per vdere se sono vuoti
if(strlen($cnome)<=0 | strlen($cpassword)<=0 | strlen($cutenteemail)<=0) | strlen($cdescrizione)<=0 | strlen($csesso)<=0{
echo "Uno o piu’ campi vuoti<br>";}
//controlla la pass non ha piu’ di 7 caratteri
if (strlen($cpassword)>7) {
echo"attenzione la password deve avere non piu’ di 7 caretteri<br>";
}//controlla se e’ email o meno
if (!ereg('^([a-zA-Z0-9])+([.a-zA-Z0-9_-])@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-]+).([a-zA-Z]{2,6})$',$cutenteemail)) {
echo "email non valida!";
//se si verifica uno dei seguenti errori rimando alla pagina di registrazione
header("Location: iscrizionesito.htm");
}
?><?
//lo script dovrebbe bloccarsi se i dati precedentemente inseriri sono errati
invece se tutto aposto connettersia l datase e inserire i dati
$link = mysql_connect("$db_host", "$db_database", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
mysql_select_db('my_italiawebchat') or die("Errore apertura database: " . mysql_error());$strsql="INSERT INTO iscritti (nome,utenteemail,sesso,password,descrizione) VALUES ('$cnome','$cutenteemail','$csesso','$cpassword','$cdescrizione')";
@mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
echo "Grazie per esserti iscritto";?>
[/PHP]
-
@carlitos1982 said:
[quote=massimux;506047]bravo vedo che tu hai capito
voglio darti un'ultima chicca se ti và...
però prima devi studiarti questo:
nello script precedentemente sul controllo c'è un errore...:(
o:
quindi require_once (cioè valutato una sola volta)
pagina che controlla i campi
[php]
<?php
//connessione al database con valori ovviamente non veri
$db_database = 'non_vera';
$db_username = 'false';
$db_password = 'false';
$db_host = 'localhost';
//recupero i valori dal form iscriviti
$cnome = $_POST['nome'];
$cutenteemail = $_POST['utenteemail'];
$csesso = $_POST['sesso'];
$cpassword = $_POST['password'];
$cdescrizione = $_POST['descrizione'];//effettuo controllo sui campi per vdere se sono vuoti
if(strlen($cnome)<=0 | strlen($cpassword)<=0 | strlen($cutenteemail)<=0) | strlen($cdescrizione)<=0 | strlen($csesso)<=0{
echo "Uno o piu? campi vuoti<br>";}
//controlla la pass non ha piu? di 7 caratteri
if (strlen($cpassword)>7) {
echo"attenzione la password deve avere non piu? di 7 caretteri<br>";
}//controlla se e? email o meno
if (!ereg('^([a-zA-Z0-9])+([.a-zA-Z0-9_-])@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-]+).([a-zA-Z]{2,6})
non riesco in nessuno modo atrovare l errore in questo scriptx:x,$cutenteemail)) {
echo "email non valida!";
//se si verifica uno dei seguenti errori rimando alla pagina di registrazione
header("Location: iscrizionesito.htm");
}
?><?
//lo script dovrebbe bloccarsi se i dati precedentemente inseriri sono errati
invece se tutto aposto connettersia l datase e inserire i dati
$link = mysql_connect("$db_host", "$db_database", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
mysql_select_db('my_italiawebchat') or die("Errore apertura database: " . mysql_error());$strsql="INSERT INTO iscritti (nome,utenteemail,sesso,password,descrizione) VALUES ('$cnome','$cutenteemail','$csesso','$cpassword','$cdescrizione')";
@mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
echo "Grazie per esserti iscritto";?>
[/php]
non riesco in nessuno modo atrovare l errore in questo scriptx:x
-
Ho aggiustato cosi'
[PHP]
<?php// Includo la connessione al database con il seguente file
require('config.php'); //<- file che include la connessione al database
//recupero i valori dal form iscriviti
$cnome = $_POST['nome'];
$cutenteemail = $_POST['utenteemail'];
$csesso = $_POST['sesso'];
$cpassword = $_POST['password'];
$cdescrizione = $_POST['descrizione'];// Controllo il campo Utente
if(strlen($cnome) < 4 || strlen($cnome) > 12)
die('Il nome utente deve essere composto da un minino di 4 caratterei e da un massimo di 12');
// Controllo la Password
elseif(strlen($cpassword) < 4 || strlen($cpassword) > 12)
die('la password deve essere composta da un minino di 4 caratteri e da un massimo di 12');
// Controllo l'email che sia valida
elseif(!eregi("^[a-z0-9][_.a-z0-9-]+@([a-z0-9][0-9a-z-]+.)+([a-z]{2,4})", $cutenteemail))
die('Email non valida prego inserisci un indirizzo valido');
// Controllo il nome utente che non sia già occupato
elseif(mysql_num_rows(mysql_query("SELECT nome FROM iscritti WHERE nome = '$cnome' LIMIT 1")) == 1)
die('Nome Utente occupato');
// Controllo l'indirizzo email non sia già presente nel database
elseif(mysql_num_rows(mysql_query("SELECT utenteemail FROM iscritti WHERE utenteemail = '$cutenteemail' LIMIT 1")) == 1)
die('Questo indirizzo email risulta essere gia usato da un altro utente');
// Registro l utente nel database
else
{// Query per l'inserimento dell'utente nel database $link = mysql_connect("$db_host", "$db_database", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
mysql_select_db('my_italiawebchat') or die("Errore nell apertura database: " . mysql_error());
$strsql="INSERT INTO iscritti (nome,utenteemail,sesso,password,descrizione) VALUES ('$cnome','$cutenteemail','$csesso','$cpassword','$cdescrizione')";
@mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
echo "Grazie per esserti iscritto";// Reindirizzo l'utente alla pagina del login header('Location: login.htm'); exit; }
?>
[/PHP]