• Home
  • Forum
  • Fare Web
  • PHP

Modificare campi tabella

  • Creatore Discussione Creatore Discussione Emix
  • Data di inizio Data di inizio 18 Mar 2010
  • Tag Tag
    form
Prec.
  • 1
  • 2
Primo Prec. 2 di 2

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 25 Mar 2010
  • #21
ciao, ecco

PHP:
<?php
//TUTTO QUESTO SCRIPT E' SU UN'UNICA PAGINA
//non ti commento la pagina con il form codice e barcode perchè è un semplice form
//creo le sessioni, da inserire nella prima riga in tutte le pagine che si utilizzano
if(!isset($_SESSION)){session_start ();} 
//qui metto i dati di connessione al DB , penso che tu non abbia problemi
//leggo l'input proveniente dal form di questa pagina
//questa parte sino al commento ***FINE MODIFICA*** si attiva alla pressione del submit del form modifica
if(isset($_POST['modifica']) && $_POST['modifica'] =="modifica"){//leggo submit da pagina modifica 
    //leggo i vari $_POST provenienti dal form modifica
	//con htmlspecial... trasformo eventuali tag html malevoli
	//con trim tolgo gli eventuali spazi ini e finali
	// (come dette non ho messo la verifica se qualcuno vuoto)
    $codice_m=trim(htmlspecialchars($_POST['codice_m']; 
    $nome_m=trim(htmlspecialchars($_POST['nome_m']; 
    $barcode_m=trim(htmlspecialchars($_POST['barcode_m']; 
    $quantita_m=trim(htmlspecialchars($_POST['quantita_m']; 
    $costo_m=trim(htmlspecialchars($_POST['costo_m'];
	//con i valori creo la qeurystringa
	//uso $_SESSION['codice'] perche devo usare il codice precedente, se cambio il
	//codice è evidente che non lo trova
	//secondo me sarebbe da verificare che il nuovo codice non sia già esistente
    //vado a capo per comodità di scrittura della query 
    $query_str="UPDATE articoli SET codice='".$codice_m."', nome='".$nome_m."', barcode='".$barcode_m."', 
     quantita='".$quantita_m."', costo='".$costo_m."' WHERE codice='".$_SESSION['codice']."'"; 
    //uppo e verifico qui mi sembra facile
    if(mysql_query($query_str)){//uppa OK 
        echo "modifica eseguita"; 
    }else{//uppa KO 
        echo "verificato errore riprova più tardi"; 
    }//fine if else uppa 
    //torno all'inserimento codice cioè alla pag precedente
	//se vuoi tornare ad un altra cambia l'url, con i percorsi giusti se altra cartella
    echo "<meta http-equiv='Refresh' content='3; URL=form_codice.php'>"; 
}//fine if post modifica 
//***FINE MODIFICA***
//questa parte si attiva quando dalla pagina precedente ho dato il submit
//termina al commento ***FINE FORM MODIFICA***
if(isset($_POST['invia']){//leggo il submit da pagina form_codice.php
	//forse conviene (non dovrebbe servire) distruggere il post dalla pag precedente
	//aggiungendo questa riga
	unset($_POST['invia']);
	//leggo i post trattandoli come prima<br>
	//in particolare se l'utente inputa degli spazi e basta questi vengono eliminati
	//da trim rendendo il post vuoto
    $codice=trim(htmlspecialchars($_POST['codice'];//leggo post codice 
    $barcode=trim(htmlspecialchars($_POST['barcode'];//leggo post barcode 
    //verifico i valori non dovresti avere problemi per capire le verifiche
    if($codice =="" && $barcode==""){ 
        //sono entrambi vuoti torno a form_codice.php 
        echo "non inserito codice e barcode"; 
        echo "<meta http-equiv='Refresh' content='3; URL=form_codice.php'>"; 
    }else{ 
        //almeno uno dei due o entrambi sono stati riempiti
		/*dato che almeno uno dei due campi non è vuoto preparo la stringa che ho chiamato $were
		per ricordare che deve essere posta dove avrei messo la clausola WHERE ... dell aquerystringa
		php è un linguaggio dinamico per cui usa quello che c'è dentro una variabile es.
		se hai inputato il codice 4 e il barcode 010100 dentro $where troverai
		WHERE codice='4' AND barcode='010100'
		se inputato solo il codice es. 5 troverai
		WHERE codice='5'
		se imputato solo il barcode es. 001100 troverai
		WHERE barcode='001100'
		per fare una prova puoi scrivere
		echo "a questo punto la variabile were contiene ".$were;
		il principio è lo stesso per costruire la querystringa
		*/ 
        if($codice !="" && $barcode==""){//codice inserito, barcode no 
            //creo la clausola where 
            $were=" WHERE codice='".$codice."' "; 
        }elseif($codice =="" && $barcode!=""){// codice non inserito, barcode si 
            $were=" WHERE barcode='".$barcode."' "; 
        }else{//sono stati inseriti entrambi 
            $were=" WHERE codice='".$codice."' AND barcode='".$barcode."' "; 
        }//fine if quale inserito 
        //interrogo la tabella 
        $query_str="SELECT * FROM articoli".$were;
		/*in questo punto, se vuoi provare mettei poi lo togli
		var_dump($query_str);
		e vedtrai che ti stampa in funzione del controllo sopra es.
		string 60 "SELECT * FROM articoli WHERE codice='4' AND barcode='010100'"
		a dimostrazione che la querystr si è composta come ti serve
		*/
		//a questo punto interrogo db/tabella
        $query=mysql_query($query_str); 
        //verifico l'esistenza del record che soddisfi alle condizioni della clausola where
        $esistono=mysql_num_rows($query); 
        if($esistono==0){// se 0 non esiste l'articolo 
            //do messaggio e torno ad inserimento codice 
            echo "articolo inesistente"; 
            echo "<meta http-equiv='Refresh' content='3; URL=form_codice.php'>"; 
        }else{ 
            //l'articolo esiste e leggo i suoi campi 
            $riga=mysql_fetch_array($query); 
            $codice=$riga['codice'];
			//metto in sessione il codice perche se l'utente lo modifica quando uppo devo trovare il vecchio record
            //avrei potuto fare direttamente solo quella sotto
			// e nell'input mettere echo $_SESSION['codice']
			$_SESSION['codice']=$riga['codice'];
			//leggo anche gli altri campi del record
            $nome=$riga['nome']; 
            $barcode=$riga['barcode']; 
            $quantita=$riga['quantita']; 
            $costo=$riga['costo']; 
        }//fine if-else esistono 
    }//fine if-else verifica vuoti 
    //esco da php per fare il form di modifica 
    //io metto tutti i campi modificabili 
    //correggi quelli si e quelli tersformando i vari input in echo 
?> 
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>" method="post" name="modifica"> 
  <p>modifica:</p> 
  <p> codice  
    <input name="codice_m" type="text" id="codice_m" value="<?php echo $codice;?>"> 
    <br> 
    nome  
    <input name="nome_m" type="text" id="nome_m" value="<?php echo $nome;?>"> 
    <br> 
    barcode  
    <input name="barcode_m" type="text" id="barcode_m" value="<?php echo $barcode;?>"> 
    <br> 
    quantit&agrave;  
    <input name="quantita_m" type="text" id="quantita_m" value="<?php echo $quantita;?>"> 
    <br> 
    costo  
    <input name="costo_m" type="text" id="costo_m" value="<?php echo $costo;?>"> 
  </p> 
  <p>non mi sembrerebbe giusto che l'utente possa modificare il codice e/o il barcode </p> 
  <p> 
    <input name="modifica" type="submit" id="modifica" value="modifica"> 
  </p> 
</form> 
<?php 
}//fine if leggo submit NON DIMENTICARTI QUESTE RIGHE
// ***FINE FORM MODIFICA*** ricordati di chiudere php
?>


credo di aver commentato a sufficienza, eventualmente copia la riga/righe che non capisci e postale
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
  • 26 Mar 2010
  • #22
lo ho riletto tutto... semplicemente sensazionale... Grazie.. veramente..

Ultima cosa.. Io gia uso le sessioni per il login iniziale.. Posso aprire due sessioni insieme?

Altra cosa.. ho notato che con il codice commentato è solo uno il form alla fine e non due come il precedente.. è voluto o prima era un errore? grazie ancora!

Emiliano.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 26 Mar 2010
  • #23
ciao
Io gia uso le sessioni per il login iniziale.. Posso aprire due sessioni insieme?
Clicca per allargare...
se per aprire intendi che valorizzi due o più sessioni si: es in una pagina puoi avere
$a=$_SESSION['A'];
$b=$_SESSION['B'];
$_SESSION['C']=$c;
eccetera... con tutte le combinazioni possibili
per quanto riguarda invece la riga del session_start() è unica e deve essere la prima, in un certo senso è come dire alla pagina dello script "guarda, che qui uso le sessioni"
i form sono due
quello in cui inserisci il codice e/o il barcode che punta alla pagina di modifica (quella che ho commentato) e
quello nella pagina modifica dove appaiono i dati negli input per fare le modifiche
volendo si potrebbe fare una pagina unica, però così è più semplice
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
  • 29 Mar 2010
  • #24
ok, ho messo a puntio lo script ora va che è una meraviglia.. ti ringrazio di cuore...

Ora avrei un altra domanda..

Devo fare in modo che se l'utente che si logga è admin vada a pagina_admin e se l'utente è utente vada a pagina_utente.

Il mio intuito mi ha fatto fare una variabile boolena nel database chiama admin che setta 0 per utente e 1 per admin.. Ora come faccio a fare in modo che al login ci sia sto controllo e vada alle pagine opportune?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 29 Mar 2010
  • #25
ciao
va bene il campo boeliano
nella pagina in cui verifichi l'user name e password dell'utente avrai penso qualcosa del genere (ti scrivo in pseudocodice)

da post leggo user e password
cerco in tabella autenti se esistono user e passord
se non esistono
torno indietro
altrimenti
leggo il campo boeliano
se boeliano == 0 mando pag_admin
se boeliano == 1 mando pag_utente
fine se esistono
non dovrebbe essere difficile tradurlo in php
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 29 Mar 2010
  • #26
ciao ecco la traduzione se ti serv
ho interrotto per telefonata+fastweb che mi fa impazzire, coumunque per andare alle pagine riservate io "transito" per una pagina
per fare le verifiche e cercare di impedire l'accesso tramite la riga del bw dove uno potrebbe
scrivere http://www.mio_sito.it/riservata.php

pagina log.php
PHP:
<form action="transito.php" method="post">
inserisci username <input name="user" type="text">
inserisci password <input name="pass" type="text">
</form>

pagina transito.php
PHP:
<?php
//usando le sessioni
if(!isset($_SESSION)){session_start ();}
//verifica da che pagina arriva la richiesta
if(basename($_SERVER['HTTP_REFERER'])!="log.php"){//ATTENZIONE nome pagina == a quella di log
	//la richiesta della pagina NON arriva da log.php
	//quindi reindirizo alla home o altra pagina a piacere
	header("Location: http://www.mio_sito.it/pag_a_piacere.php");
}else{
	//la richesta arriva dalla pagina giusta
	//leggo i post
	$username=htmlspecialchars($_POST['user']);
	$password=htmlspecialchars($_POST['pass']);
	//****qui metto la connessione al db*****
	//e cerco se esiste un record con tale pass e user
	$query_str="SELECT * FROM utenti WHERE user='$username' AND pass='$password'";
	$query=mysql_query($query_str);
	$esiste=mysql_num_rows($query);
	if($esiste==0){
		//l'utente non è registrato, quindi reindirizzo
		header("Location: http://www.mio_sito.it/pag_a_piacere.php");
	}else{
		//metto in sessione la password (mi serivirà in seguito)
		$_SESSION['password']=$password;
		//leggo il campo boeliano (qui lo chiamo boe)
		$riga=mysql_fetch_array($query);
		$boe=$riga['boe'];
		switch ($boe){
			case '0'://se 0 per admin
				header("Location: pag_riservata_admin.php");
			break;
			case '1'://se 1 per utenti
				header("Location: pag_riservata_utente.php");
			break;
			default:
				//non dovrebbe servire, ma preferisco metterla
				header("Location: http://www.mio_sito.it/pag_a_piacere.php");
			break;
		}//fine switch
	}//fine if-else esiste
}//fine if-else provenienza
?>
poi nella pagina pag_riservata_admin.php
PHP:
<?php
if(!isset($_SESSION)){session_start ();}
//verifico la sessione fatta nella pagina transito
if(!isset($_SESSION) || $_SESSION['password']!= "qui scrivo la password dell'admin"){
	//la sessione non esiste o se esiste è diversa dalla tua
	//comunque distruggo le sessioni
	unset($_SESSION['password']);
	//e reindirizzo
	header("Location: http://www.mio_sito.it/pag_a_piacere.php");
}//if verifica sessione e tua password
//eccc...........
?>
nella pagina pag_riservata_utente.php
PHP:
<?php
if(!isset($_SESSION)){session_start ();}
//verifico la sessione fatta nella pagina transito
if(!isset($_SESSION)){
	//la sessione non esiste
	//comunque distruggo le sessioni
	unset($_SESSION['password']);
	//e reindirizzo
	header("Location: http://www.mio_sito.it/pag_a_piacere.php");
}// fine if sessione esiste
//ecc.....................
?>
come puoi vedere non è molto semplice accedere alle pagine riservate "imbrogliando"
 
Prec.
  • 1
  • 2
Primo Prec. 2 di 2
Devi accedere o registrarti per poter rispondere.

Discussioni simili

R
Aiuto. come modificare il contenuto di una query a campi incrociati
  • rofranz
  • 23 Mag 2005
  • Database
Risposte
0
Visite
2K
Database 23 Mag 2005
rofranz
R
S
Modificare la tonalità di una foto
  • sgrebs70
  • 13 Feb 2025
  • Photoshop
Risposte
0
Visite
186
Photoshop 13 Feb 2025
sgrebs70
S
M
[cerco webmaster] sito web da modificare
  • moicans
  • 24 Gen 2023
  • Offerte e Richieste di Lavoro e/o Collaborazione
Risposte
0
Visite
1K
Offerte e Richieste di Lavoro e/o Collaborazione 24 Gen 2023
moicans
M
G
Come modificare un pdf in php
  • Gabriele Sorbello
  • 29 Ago 2022
  • PHP
Risposte
1
Visite
2K
PHP 2 Set 2022
marino51
modificare il valore dellascroll bar di webkit
  • napuleone
  • 31 Lug 2022
  • HTML e CSS
Risposte
8
Visite
1K
HTML e CSS 7 Set 2022
akhilex791
A
Modificare codice e creare link
  • Shyson
  • 5 Mag 2021
  • PHP
Risposte
0
Visite
1K
PHP 5 Mag 2021
Shyson
J
Modificare panorami 360 ps 2020
  • JULIANALVARO
  • 14 Gen 2021
  • Photoshop
Risposte
0
Visite
892
Photoshop 14 Gen 2021
JULIANALVARO
J
modificare il contenitore di un div
  • napuleone
  • 9 Gen 2021
  • Javascript
Risposte
2
Visite
1K
Javascript 9 Gen 2021
napuleone
  • Bloccata
modificare il contenitore di un div
  • napuleone
  • 9 Gen 2021
  • Javascript
Risposte
1
Visite
966
Javascript 9 Gen 2021
Max 1
D
modificare questo codice per inserimento in text e non in tabella
  • Domenico2013
  • 22 Ott 2020
  • jQuery
Risposte
1
Visite
3K
jQuery 23 Ott 2020
Domenico2013
D
C
modificare sito in locale con dreamWeaver
  • Cpu03
  • 28 Lug 2020
  • HTML e CSS
Risposte
3
Visite
2K
HTML e CSS 21 Ott 2020
ServWise.com
S
T
Modificare ruolo utenti in fase di registrazione
  • Tino85
  • 15 Lug 2020
  • E-Commerce
Risposte
0
Visite
2K
E-Commerce 15 Lug 2020
Tino85
T
M
modificare un file .XML da database Sql
  • Maxilboss93
  • 9 Giu 2020
  • PHP
Risposte
13
Visite
2K
PHP 10 Giu 2020
Maxilboss93
M
S
Modificare intestazione documento pdf con LO Draw
  • soom2545
  • 5 Giu 2020
  • Linux e Software
Risposte
0
Visite
2K
Linux e Software 5 Giu 2020
soom2545
S
Radio button e Bootstrap: modificare il colore di default!
  • felino
  • 23 Mag 2020
  • HTML e CSS
Risposte
1
Visite
3K
HTML e CSS 25 Mag 2020
felino
Modificare funzione php
  • Shyson
  • 2 Apr 2020
  • PHP
Risposte
15
Visite
2K
PHP 3 Apr 2020
marino51
W
Modificare il Type di un Input box in javascript ovunque si trovi
  • webmasterone
  • 18 Dic 2019
  • Javascript
Risposte
0
Visite
2K
Javascript 18 Dic 2019
webmasterone
W
F
Modificare report di etichette di access con vba
  • forlario
  • 7 Nov 2019
  • MS Access
Risposte
0
Visite
2K
MS Access 7 Nov 2019
forlario
F
D
[PHP] Tabella: modificare direttamente i valori
  • Domenico2013
  • 30 Ott 2019
  • PHP
Risposte
6
Visite
2K
PHP 2 Nov 2019
Domenico2013
D
P
[Woocommerce] Modificare il Bottone Checkout di Woocommerce in base alla categoria di prodotto
  • piumetta
  • 20 Ott 2019
  • E-Commerce
Risposte
10
Visite
5K
E-Commerce 21 Ott 2019
piumetta
P
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?