Ciao!!
Un grazie a tutti!!
- Home
- mauranto99
- Post
mauranto99
@mauranto99
Post creati da mauranto99
-
include php
Ciao a tutti!!
Una domanda curiosa.
Con la funzione include, posso includere anche porzioni di codice html?ESEMPIO:
[PHP]
<?php include ("include/pippo.html");?>
[/PHP]Ciao grazie!!!!!
-
RE: problema select dinamiche javascript+php
Ciao! Alcatraz,
Una volta compilata la select, passo i valori con il (post),
a questa pagina che controlla i campi.
Questa è la pagina con il campo che a me serve (comuni).[PHP]
<?Php
@$comuni=mysql_real_escape_string($_POST['comuni']);
//Controllo campi obbligatoriif(@$_POST['comuni'] == "0")
{echo"Campo comuni vuoto<br/><br/><a href="registrazione.php">Torna alla registrazione</a>"; exit(); }//inserimento dati database
$query=mysql_query("INSERT INTO utenti (comune)
VALUES ('$comuni')")or die(mysql_error());?>
[/PHP]Ho lasciato solo il codice per il recupero del campo,
Io recupero il campo comuni, poi lo inserisco nel database, ma salva l'id,
e non il nome del comune.
Poi non ho capito dove mettere il codice da te postato.
Attendo,
Grazie, per la risposta.
-
RE: Inserimento dato database
Ok! l'ho postato nella sezione scripting.
Grazie ancora. -
problema select dinamiche javascript+php
Ciao! a tutti,
Ho un problema con tre select dinamiche( regioni, province e comuni ),
Il problema è che funziona il tutto, ma nel database mi salva l'id e non il nome del comune selezionato nelle select.
Per salvare il nome del comune ho usato l'istruzione switch.Pagina php per salvare il comune con l'istruzione switch:
[php]
<?php
//prova switch
$comuni=$_POST['comuni'];
switch($_POST['comuni'] )
{
case 1:
$comuni='Altino';
break;
case 2:
$comuni='Archi';
break;
case 3:
$comuni='Ari';
break;
case 4:
$comuni='Arielli';
break;
}
?>
[/php]Solo che i comuni sono 8094, io volevo fare una cosa un po' più veloce,
posto le altre pagine per una migliore comprensione.[php]<script type="text/javascript" src="lists.js"></script>
<label for="regioni">Regioni</label>
<select name="regioni" id="regioni" onchange="loadList('province', getSelected(this))" class="sele"></select><br /><label for="province">Province</label>
<select name="province" id="province" onChange="loadList('comuni', getSelected(this))" class="sele1">Province</select><br /><label for="comuni">Comuni</label>
<select name="comuni" id="comuni" class="sele2" >Comuni</select><br /><!-- carica il contenuto della lista regioni -->
<script type="text/javascript">
//<![CDATA[
loadList('regioni', 0);
//]]>
</script>
[/php][php]
<?php
include("include/conn_db.php");
//I valori in input vanno verificati
//id deve essere un valore numerico
$pid =(int) $_REQUEST['id'];
//maschera eventuali caratteri speciali in table
$tb = mysql_real_escape_string($_REQUEST['table'], $conn);
switch($tb) {
case 'regioni':
$sql="SELECT id, nome FROM$tb
ORDER BY nome";
break;
case 'province':
$sql="SELECT id, nome FROM$tb
WHERE id_regione=$pid ORDER BY nome";
break;
case 'comuni':
$sql="SELECT id, nome FROM $tb WHERE id_provincia=$pid ORDER BY nome";
break;
}
//Il primo elemento della risposta è il nome della tabella (= attributo ID del tag select)
$out="$tb;";
if($result = mysql_query($sql, $conn)) {
while ($row = mysql_fetch_row($result)) {
$out .= utf8_encode($row[0] . '|' . $row[1] . ';');
}
}
//Rimuove il carattere ; in coda
echo rtrim($out, ';');
?>
<?php
include("include/chiusa_conn_db.php");
?>
[/php]Questa che segue è una pagina con estensione (js)
[php]
var xmlHttp = getXmlHttpObject();
function loadList(tb,id){
xmlHttp.open('GET', 'request.php?table='+tb+'&id='+id, true);
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.send(null);
}
function addOption(select, value, text) {
//Aggiunge un elemento <option> ad una lista <select>
var option = document.createElement("option");
option.value = value,
option.text = text;
try {
select.add(option, null);
} catch(e) {
//Per Internet Explorer
select.add(option);
}
}
function getSelected(select) {
//Ritorna il valore dell'elemento <option> selezionato in una lista
return select.options[select.selectedIndex].value;
}
function stateChanged() {
if(xmlHttp.readyState == 4) {
//Stato OK
if (xmlHttp.status == 200) {
var resp = xmlHttp.responseText;if(resp) {
//Le coppie di valori nella striga di risposta sono separate da ;
var values = resp.split(';');
//Il primo elemento l'ID della lista.
var listId = values.shift();
var select = document.getElementById(listId);
//Elimina i valori precedenti
while (select.options.length) {
select.remove(0);
}if(listId == 'regioni') { addOption (select, 0, '-- Selezionare regione --'); } if(listId == 'province' ) { addOption (select, 0, '-- Selezionare provincia --'); } if(listId == 'comuni' ) { addOption (select, 0, '-- Selezionare comune --'); } var limit = values.length; var limit = values.length; for(i=0; i < limit; i++) { var pair = values*.split('|'); //aggiunge un elemento <option> addOption(select, pair[0], pair[1]); }
}
} else {
alert(xmlHttp.responseText);
}
}
}
//funzione per rendere i browswr compatibili
function getXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}[/php]
Spero si capisca,
Tanti saluti.
-
RE: Inserimento dato database
Ciao a tutti,
Per aver una risposta devo cambiare sezione del forum?
Fatemi sapere, ciao grazie. -
RE: Inserimento dato database
Ciao! Thedarkita,
Ho provato alcune modifiche ma niente, mi salva sempre l'id.
Hai qualche consiglio?Ciao!
-
RE: Inserimento dato database
Ciao Thedarkita,
Nella fretta ho dimenticato del codice della prima pagina dove ci sono le select, che puo' essere utile.
[PHP]
<script type="text/javascript" src="lists.js"></script><label for="regioni">Regioni</label>
<select name="regioni" id="regioni" onchange="loadList('province', getSelected(this))" class="sele"></select><br /><label for="province">Province</label>
<select name="province" id="province" onChange="loadList('comuni', getSelected(this))" class="sele1">Province</select><br /><label for="comuni">Comuni</label>
<select name="comuni" id="comuni" class="sele2" >Comuni</select><br /><!-- carica il contenuto della lista regioni -->
<script type="text/javascript">
//<![CDATA[
loadList('regioni', 0);
//]]>
</script>[/PHP]
L'ultima pagina non ha come estensione php ma js, praticamente viene richiamata per popolare le select.
Quello che dicevi di fare, era di :
togliere (id="comun"i) e lasciare solo (name="comuni").Così non funziona.
Attendo
Ciao! -
Inserimento dato database
Ciao a tutti!
Ho un problema con tre select dinamiche (regioni,province,comuni).
Non riesco a salvare nel database il campo (comuni) scelto.
Mi spiego meglio, mi salva l'id e non il nome del campo.
Per far funzionare il tutto, in modo che mi salvi il nome del comune,
ho usato l'istruzione switch, solo che i comuni sono 8094.[php]
<?php
//prova switch
$comuni=$_POST['comuni'];
switch($_POST['comuni'] )
{
case 1:
$comuni='Altino';
break;
case 2:
$comuni='Archi';
break;
case 3:
$comuni='Ari';
break;
case 4:
$comuni='Arielli';
break;
}
?>
[/php]Io vorrei fare una cosa un po' più veloce, salvare direttamente il nome del
comune nel database.
Vi posto anche le altre pagine per una migliore comprensione.[php]
<label for="regioni">Regioni</label>
<select name="regioni" id="regioni" onchange="loadList('province', getSelected(this))" class="sele"></select><br /><label for="province">Province</label>
<select name="province" id="province" onChange="loadList('comuni', getSelected(this))" class="sele1">Province</select><br /><label for="comuni">Comuni</label>
<select name="comuni" id="comuni" class="sele2" >Comuni</select><br />
[/php][php]
<?php
include("include/conn_db.php");
//I valori in input vanno verificati
//id deve essere un valore numerico
$pid =(int) $_REQUEST['id'];
//maschera eventuali caratteri speciali in table
$tb = mysql_real_escape_string($_REQUEST['table'], $conn);
switch($tb) {
case 'regioni':
$sql="SELECT id, nome FROM$tb
ORDER BY nome";
break;
case 'province':
$sql="SELECT id, nome FROM$tb
WHERE id_regione=$pid ORDER BY nome";
break;
case 'comuni':
$sql="SELECT id, nome FROM $tb WHERE id_provincia=$pid ORDER BY nome";
break;
}
//Il primo elemento della risposta è il nome della tabella (= attributo ID del tag select)
$out="$tb;";
if($result = mysql_query($sql, $conn)) {
while ($row = mysql_fetch_row($result)) {
$out .= utf8_encode($row[0] . '|' . $row[1] . ';');
}
}
//Rimuove il carattere ; in coda
echo rtrim($out, ';');
?>
<?php
include("include/chiusa_conn_db.php");
?>
[/php][php]
var xmlHttp = getXmlHttpObject();
function loadList(tb, id){
xmlHttp.open('GET', 'request.php?table='+tb+'&id='+id, true);
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.send(null);
}
function addOption(select, value, text) {
//Aggiunge un elemento <option> ad una lista <select>
var option = document.createElement("option");
option.value = value,
option.text = text;
try {
select.add(option, null);
} catch(e) {
//Per Internet Explorer
select.add(option);
}
}
function getSelected(select) {
//Ritorna il valore dell'elemento <option> selezionato in una lista
return select.options[select.selectedIndex].value;
}
function stateChanged() {
if(xmlHttp.readyState == 4) {
//Stato OK
if (xmlHttp.status == 200) {
var resp = xmlHttp.responseText;if(resp) {
//Le coppie di valori nella striga di risposta sono separate da ;
var values = resp.split(';');
//Il primo elemento l'ID della lista.
var listId = values.shift();
var select = document.getElementById(listId);
//Elimina i valori precedenti
while (select.options.length) {
select.remove(0);
}if(listId == 'regioni') { addOption (select, 0, '-- Selezionare regione --'); } if(listId == 'province' ) { addOption (select, 0, '-- Selezionare provincia --'); } if(listId == 'comuni' ) { addOption (select, 0, '-- Selezionare comune --'); } var limit = values.length; var limit = values.length; for(i=0; i < limit; i++) { var pair = values*.split('|'); //aggiunge un elemento <option> addOption(select, pair[0], pair[1]); }
}
} else {
alert(xmlHttp.responseText);
}
}
}
//funzione per rendere i browswr compatibili
function getXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
[/php]
Spero si possa capire, altrimenti dovrò scrivere uno switch gigantesco.
Tanti saluti -
RE: Sondaggio
Ciao!, thedarkita.
Io ho seguito lo stesso tutorial di (Sambo994), funziona tutto, grazie anche alle tue ultime modifiche. Io però non ho fatto il controllo dei voti con i cookie, ma oltre la tabella nomi per inserire i voti, ne ho creata un'altra per recuperare l'ip di ogni utente che votava, in modo che un utente potesse votare una volta sola.
Ho creato un'altra tabella perchè aggiungendo il campo ip_utenti nella tabella nomi, non mi aggiornava mai i dati correttamente, allora ho creato una tabella separata.
Con due tabelle funziona tutto, volevo capire se è giusto quello che ho fatto, oppure ci sono altri sistemi, anche perchè l'ho trovato semplice farlo in quel modo.
Ti posto il codice modificato per farlo lavorare con due tabelle.[php]
$ip=$_SERVER['REMOTE_ADDR'];
if(!isset($_POST['paese']))
{
echo "Devi scegiere cosa votare<br/>";
echo"<a href="sondaggi1.php">Torna al sondaggio</a>";
}
if(isset($_POST['paese']))
$paese = $_POST['paese'];
else
exit;
if(!in_array($paese, array('italia','spagna','portogallo','argentina','inghilterra')))
exit;
//inserimento e controllo ip utenti
$query=mysql_query("INSERT INTO ip_utenti (ip_utenti) VALUES ('$ip')")or die ( "HAI GIA VOTATO ");
//fine inserimento e controllo ip
$risultati_mysql=mysql_query("SELECT * FROM nomi ");
while ($riga1=mysql_fetch_array($risultati_mysql))
{
$id=$riga1["$paese"];
$idnuovo=($id + 1);
}
$sql="UPDATE nomi SET $paese='$idnuovo'";
if(!mysql_query($sql)){
echo "Errore impossibile votare";
echo "<script>
function redirect(){
window.location.replace("scegli.htm");
}
setTimeout("redirect()", 2000);
</script>";
exit();
}else{
echo "Grazie per il tuo Voto ";
echo "<script>
function redirect(){
window.location.replace("guarda.php");
}
setTimeout("redirect()",800);
</script>";}
[/php]Cosa ne pensi?
Tanti saluti.
Ciao! Grazie. -
RE: Sicurezza dati nel database
Ciao!
Volevo usarle per controllare il login, visto che per loggarsi uso come username l'e-email e come password una password da 6 a 15 caratteri alfanumerici.
Da precisare che nel database quando inserisco i dati, faccio già il controllo di username e password, se non sono una e-mail valida o la password non corrisponde alle mie aspettative blocca la registrazione.
La mia intenzione era di fare il controllo della stringa con:
mysql_real_escape_string e di fare un controllo con una espressione recolare per i due campi.
Ancora, ma mysql_real_escape_string controlla anche i caratteri jolly?, o serve un altro controllo?.Per adesso basta.
Grazie ancora,CIAO!!
-
RE: Sicurezza dati nel database
Torno a disturbarvi.
Per controllare i dati, posso usare anche delle espresioni regolari?,
possono essere utili?, si possono usare entrambi o si pasticcia tutto?.Ancora GRAZIE.
-
RE: Sicurezza dati nel database
Dimenticanza.
Un'altra curiosità, le funzioni si usano solo per inserire i dati nel database o anche per estrarli?.Grazie mille.
-
RE: Sicurezza dati nel database
Ciao Thedarkita,
Scusa ancora, è giusto come le ho scritte nel primo messaggio?,
ne posso usare più di una per volta?. Non ho capito cosa volevi dire con:
( Se non ci deve essere codice html, si può anche inserire nel database dopo l'utilizzo di htmlentities o di strip_tags a seconda della necessità ).Saluti grazie ancora.
-
Sicurezza dati nel database
Ciao! sono tornato con un nuovo problema.
Volevo capire come usare le funzioni stringa, ho letto il manuale php, ma voglio capire bene quello che devo e qullo che si puo' fare.
Le funzioni stringa che volevo usare, sono quelle per controllare che un utente malintenzionato non tenti di forzare il tutto.
Ne ho trovate alcune: ltrim(), rtrim(), strip_tags(), stripslashes(), addslashes(), mysql_real_escape_string(), potrebbero essere utili.
Ognuna di queste ha la sua funzione, se ne possono usare più di una per volta, come l'esempio sotto?
Adesso vorrei capire se si usano così:[php]
$name = ltrim(rtrim(strip_tags(stripslashes($_POST['name']))));
$email = ltrim(rtrim(strip_tags(stripslashes($_POST['email']))));
[/php][php]
$email =mysql_real_escape_string ($_POST['email']);
$pwd =mysql_real_escape_string (sha1($_POST['pwd']));
[/php]Praticamente così prima di inserire i dati nel database si ripulisce la stringa da caratteri pericolosi.
Si usano sia per inserire i dati nel database, che per stamparli a video?
Oltre questo quali accorgimento per proteggere i dati?.Ciao!!! Ciao!!!!
-
RE: come funziona SESSION
Ciao! (danny1975) prova se funziona così?
[php]
<?php
session_start();
require '../Config.php';
require '../Connect.php';
?>
<table border="1" cellspacing="0" cellpadding="0" bordercolor="#00FF00" height="100">
<tr>
<td><?php
$login=$_SESSION['login'];
if(!isset($_SESSION['login']))
{
echo"Ciao $login";
}else{
echo"devi effettuare prima il login";}?></td>
</tr>
</table>
?>
[/php]
Se funziona fammi sapere.