[RISOLTO]Php form select

  • Creatore Discussione Creatore Discussione fofo13
  • Data di inizio Data di inizio

fofo13

Nuovo Utente
20 Nov 2013
28
0
0
milano
Ciao ragazzi ho un problema e non riesco a risolverlo sto utlizzando php per gestire un db in postgres.Ho una tabella account composta da username e rete(ho diverse reti nel mio db) come chiave composta e altri campi.in una pagina seleziono la riga da eliminare dalla tabella account,ma il problema è che io devo inviare nella pagina successiva per completare la cancellazione della riga corretta username e rete.Purtroppo riesco a passare solo uno dei valori cioè username.Come devo fare?
qui vi posto il mio codice

PHP:
<strong>Seleziona un account da eliminare</strong>
<?php 
	echo"<form name='form1'  action='conferma_eliminazione_account.php' method='post'>";
	echo"Username - Rete : <select name='nome'>"; 

	
	$sql_cf ="SELECT username,rete,e_mail,cf_utente FROM account";

	//connessi1one al server
		$db='GestioneMaterialeInformatico';
		$user='administrator';
		$pwd='mypassword';	//12345
	
		@$dbconn = pg_connect("host=localhost port=5432 dbname=$db user=$user password=$pwd");
	
	$result = pg_query($dbconn, $sql_cf);
	if (!$result) {
		echo "An error occured.\n";
		exit;
	}
	while($row = pg_fetch_array($result)){
	$username=$row['username'];
	$rete=$row['rete'];
	$e_mail=$row['e_mail'];
	$cf_utente=$row['cf_utente'];

	
	echo"<option value=\"$username\">$username $rete --- e-mail :$e_mail --- Codicie fiscale utente :$cf_utente </option>";
	 
	}
	 
	
    echo"<input type='submit' name='Submit' value='ELIMINA' >";
	echo"</select>";
	pg_close($dbconn);	?>

il problema sicuro è in <option value=\"$username\"> qual'è la corretta sintassi???
 
Ultima modifica di un moderatore:
Ciao e benvenuto
ti basta aggiungere un input nascosto
PHP:
echo"<input type='hidden' name='rete' value='$rete' >";
poi lo recuperi normalmente
PHP:
$rete = $_POST['rete'];
il submit dovresti posizionarlo dopo la chiusura della select e non vedo la chiusura del form
 
ciao
non puoi mettere il pulsante di submit dentro la select
PHP:
<?php
if(isset($_POST['Submit'])){
	var_dump($_POST['pinco']);
}
echo "<form action=\"\" method=\"post\">";
echo "<select name=\"pinco\">";
for($k=0;$k<3;$k++){
	echo "<option value=\"$k\">$k</option>";
	echo " <input type=\"submit\" name=\"Submit\" value=\"Invia\">";//sbagliato
}
echo "</select>";
echo "</form>";
?>
deve stare fuori
PHP:
<?php
if(isset($_POST['Submit'])){
	var_dump($_POST['pinco']);
}
echo "<form action=\"\" method=\"post\">";
echo "<select name=\"pinco\">";
for($k=0;$k<3;$k++){
	echo "<option value=\"$k\">$k</option>";
}
echo "</select>";
echo " <input type=\"submit\" name=\"Submit\" value=\"Invia\">";
echo "</form>";
?>
la sintassi delloption è giusta (prova i due script)

p.s.
racchiudi il codice sempre tra gli appositi tag (seconda riga di formattazione del post ultime tre iconcine, nell'ordine CODE, HTML, PHP)
 
ciao
non puoi mettere il pulsante di submit dentro la select
PHP:
<?php
if(isset($_POST['Submit'])){
	var_dump($_POST['pinco']);
}
echo "<form action=\"\" method=\"post\">";
echo "<select name=\"pinco\">";
for($k=0;$k<3;$k++){
	echo "<option value=\"$k\">$k</option>";
	echo " <input type=\"submit\" name=\"Submit\" value=\"Invia\">";//sbagliato
}
echo "</select>";
echo "</form>";
?>
deve stare fuori
PHP:
<?php
if(isset($_POST['Submit'])){
	var_dump($_POST['pinco']);
}
echo "<form action=\"\" method=\"post\">";
echo "<select name=\"pinco\">";
for($k=0;$k<3;$k++){
	echo "<option value=\"$k\">$k</option>";
}
echo "</select>";
echo " <input type=\"submit\" name=\"Submit\" value=\"Invia\">";
echo "</form>";
?>
la sintassi delloption è giusta (prova i due script)

p.s.
racchiudi il codice sempre tra gli appositi tag (seconda riga di formattazione del post ultime tre iconcine, nell'ordine CODE, HTML, PHP)
Che cosa dire ragazzi grazie siete stati gentilissimi...oggi provo e vi faccio sapere...GRAZIE MILLE
 
Ciao e benvenuto
ti basta aggiungere un input nascosto
PHP:
echo"<input type='hidden' name='rete' value='$rete' >";
poi lo recuperi normalmente
PHP:
$rete = $_POST['rete'];
il submit dovresti posizionarlo dopo la chiusura della select e non vedo la chiusura del form

l'unica domanda è dove devo inserire l'input nascosto?
fuori dal while e prima della select? o dopo la select e prima del submit?
 
è uguale basta che sia fuori dal ciclo ma dentro il form
 
Hai ragione, non ci avevo pensato
puoi fare cosi
PHP:
echo"<option value=\"$username|$rete\">
e poi li recuperi cosi
PHP:
$data = explode("|",$_POST['nome']);
$nome = $data[0];
$rete = $data[1];
 
grazie web funziona benissimo...

borgo italia ora posto il codice
PHP:
//seleziona_account_da_eliminare.php
<strong>Seleziona un account da eliminare</strong>
<?php 
	echo"<form name='form1'  action='conferma_eliminazione_account.php' method='post'>";
	echo"Username - Rete : <select name='id'>"; 

	
	$sql_cf ="SELECT username,rete,e_mail,cf_utente FROM account";

	//connessi1one al server
		$db='GestioneMaterialeInformatico';
		$user='administrator';
		$pwd='mypassword';	//12345
	
		@$dbconn = pg_connect("host=localhost port=5432 dbname=$db user=$user password=$pwd");
	
	$result = pg_query($dbconn, $sql_cf);
	if (!$result) {
		echo "An error occured.\n";
		exit;
	}
	while($row = pg_fetch_array($result)){
	$username=$row['username'];
	$rete=$row['rete'];
	$e_mail=$row['e_mail'];
	$cf_utente=$row['cf_utente'];

	
	echo"<option value=\"$username|$rete\">$username $rete --- e-mail :$e_mail --- Codicie fiscale utente :$cf_utente </option>";
	 
	}
	 
	//echo"<input type='hidden' name='rete' value='$rete' >"; 

	echo"</select>";
	 
    echo"<input type='submit' name='Submit' value='ELIMINA' >";
	pg_close($dbconn);	?>


//conferma_eliminazione_account.php

<?php  
	

	//connessi1one al serve
		$db='GestioneMaterialeInformatico';
		$user='administrator';
		$pwd='mypassword';	//12345
	
		@$dbconn = pg_connect("host=localhost port=5432 dbname=$db user=$user password=$pwd");
									
	echo"<br/>";
	$data = explode("|",$_POST['id']); 
	$username = $data[0]; 
	$rete = $data[1];   
	echo $rete;
	//questa fase serve solo per capire se si è connessi al server o meno
	//if (isset($_POST['username'])){
		//$username =$_POST['username'];
	
		if(!$dbconn) {
			die('Server non disponibile !<br />');
		} else {

			//echo 'Connessione riuscita ...!<br />';
			}  
		
		$query = "DELETE FROM account WHERE (username = '$username' AND rete='$rete')";  
			$result = pg_query($query);   
		if (!$result) {
			echo "An error occured.\n";
			exit;
			}
			else {echo "Utente ";
				  echo $username ;
				  echo " eliminato" ;
			}
		
	//}
	
?>  
<html>
<body>
<br></br>
<a href="seleziona_account_da_eliminare.php"><img width=20 src=image/left_arrow.jpg><br>elimina un'altro account<br></a>
<br></br>
<br></br>

<a href="logout.php">Logout</a><br>

</body>
</html>
 
Ultima modifica di un moderatore:

Discussioni simili