come inviare 2 variabili con get

  • Creatore Discussione Creatore Discussione migo80
  • Data di inizio Data di inizio

migo80

Utente Attivo
25 Apr 2013
243
3
18
devo passare due variabili tramite link per inviarli ad uno script di eliminazione record
 
ciao
se non ho capito male:
il link
HTML:
<a href="pinco.php?var_a=111&var_b=222">clicca</a>
e la ricezione
PHP:
<?php
$a=$_GET['var_a'];
$b=$_GET['var_b'];
//.......
?>
per tre variabili
HTML:
<a href="pinco.php?var_a=111&var_b=222&var_c=333">clicca</a>
cioè tra una e l'altra il simbolo &
......
 
ciao si esatto l' esempio è giusto, devo passare questi 2 valori per eliminare un record ma lo script non mi elimina nulla.
PHP:
<?php

$pos=$_GET['pos'];
$nome=$_GET['nome'];

	 
 $host='localhost';
$user='cl';
$pass='cl';
$db='my_test';

$conn= mysql_connect($host, $user, $pass);
mysql_select_db($db,$conn);	

if(!$conn)die("Errore di connessione".mysql_error());

$query ="DELETE FROM $pos  WHERE {$nome}";

$rs = mysql_query($query,$conn);

if ( mysql_affected_rows()==1)
{
echo "record eliminato";
header("refresh:2; url=admin.php");
exit; 
}else{
	echo "record non eliminato";
header("refresh:2; url=admin.php");
exit;

}


?>
 
ciao
$query ="DELETE FROM $pos WHERE {$nome}";??
non so come si chiami il campo, ma correggi in
PHP:
$query ="DELETE FROM $pos  WHERE nome='$nome'";

$pos è il nome della tabella?
dimenticavo è importante validare i valori che provengono dal get, corri il riscio che qualcuno ti cancelli tutto il db
 
Ultima modifica:
si pos è la tabella.....
si ma per ora sono ancora in locale e quindi in fase di test in fase finale adotterò tutte le precauzioni del caso :fonzie: ora provo se va!!!!
 
dimenticavo è importante validare i valori che provengono dal get, corri il riscio che qualcuno ti cancelli tutto il db

scusa se intervengo ma leggevo in giro ed ho letto questa frase ed anche se non uso praticamente mai le GET ultimamente lo 0sto usando ma perlopiù lo uso per dare degli input del tipo

www.miosito.com/index.php?var=1

PHP:
if($var==1){
echo "fai questo";
}else{
echo "fai altro";
}

penso che cosi non si possa far niente ma proprio questi giorni sto cimentandomi in uno script dove ho l'esigenza dia vere una variabile nel link che poi mi serve recuperare epr il database.

cosa significa validare i valori? e quali precauzioni vanno adottate?
 
Ciao, poniamo di aver uno script cosi:
PHP:
$query = "DELETE from tabella WHERE id = " . $_GET['id'];
finchè ti arriva l'id ok ma su qualcuno dovesse passarti una stringa simile
PHP:
$_GET['id'] = "1 || 1=1";
la tua query diventerebbe
Codice:
DELETE from tabella WHERE id = 1 || 1=1
di conseguenza la tua tabella verrebbe svuotata
per questo è consigliato verificare qualsiasi tipo di dato che arriva sia in get che in post
in questo caso visto che ci aspettiamo un intero puo essere un inizio verificare che sia numerico
PHP:
if (is_numeric($_GET['id'])) {
    $query = "DELETE from tabella WHERE id = " . $_GET['id'];
} else {
    die("parametro non valido");
}
questo tipo di esempio cmq è molto pericoloso perche potrei richiamare facilmente la tua pagina in un ciclo passandoti continuamente id diversi
non essere mai avaro sui controlli perche in giro c'è gente che se ne sbatte dsel lavoro degli altri , dipende poi cosa ci devi fare
 

Discussioni simili