[RISOLTO]Problema con il POST

  • Creatore Discussione Creatore Discussione Vicee
  • Data di inizio Data di inizio

Vicee

Nuovo Utente
24 Gen 2013
11
0
0
Ciao ragazzi ho un problema con il POST. Cercherò di essere chiaro.

Ho un form (pagina.php) che invia un singolo dato ad un altro form (pagina2.php).

La pagina2.php memorizza in una variabile ($test) il contenuto del POST della pagina1.php e attraverso una query compila automaticamente i dati del form.

Fin qui tutto ok, il form della pagina2.php ha i dati corretti.

Proseguendo...

Il form della pagina2.php invia a se stessa i dati del suo form (modificati o non) e dovrebbe fare l'update dei dati nella tabella X utilizzando però la variabile $test ("update......WHERE id='$test'").

Il problema è che quando ricarica la pagina per inviare i dati del form a se stessa, non mi riconosce più la variabile $test perchè quest'ultima derivava dal POST della pagina1.php infatti se sostituisco manualmente la variabile $test ad un id funziona e fa correttamente l'update.

Ho provato anche con il session_start() ma nulla....

Sapete aiutarmi?

GRAZIE MILLE.
 
Ciao, crei un input nascosto nel form che prenderà il valore del primo post
PHP:
<input type="hidden" name="test" value="<?php echo $_POST['test'];?>"/>
 
Niente da fare...al reload dimentica il valore della variabile e conseguentemente:

undefined index e il mysql_fetch_assoc...
 
non può dimenticarlo Controlla bene i name
eventualmente posta il form
 
ecco l'originale...

PHP:
<?php require_once ("connection.php"); require_once ("function.php");?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<script type="text/javascript">
function conferma() {

    if (confirm("Sei sicuro?")) {
      return true;
    }
    else
      alert("Eliminazione annullata."); {
       return false;
    }
}
</script>



<?php
	
	session_start ();
	
	$id_squadra=($_POST['id_squadra']);
	$_SESSION["id_squadra"]=$id_squadra;
	
	$query_squadra="SELECT * FROM squadra WHERE id_squadra=$id_squadra";
	$result_squadra=mysql_query($query_squadra);
	$rigo=mysql_fetch_assoc($result_squadra);
	
	$query_giocatori="SELECT * FROM giocatori WHERE id_squadra=$id_squadra";


if(isset($_POST['salva']))
{
	
	if (isset($_POST['squadra']) && $_POST['squadra'] !='' && isset($_POST['presidente']) && $_POST['presidente'] !=''
	&& isset($_POST['email']) && $_POST['email'] !='' && isset($_POST['telefono']) && $_POST['telefono'] !='')
	{ 		
				if (is_numeric($_POST['telefono']))
					$telefono=$_POST['telefono'];
				else
					{
					$errore = "Il Campo Telefono Non Può Contenere Caratteri";
					echo "<script type='text/javascript'>window.alert('Il Campo Telefono Non Può Contenere Caratteri')</script>";
					}				
				if (isset($_POST['email']) || $_POST['email'] != '')
					{
						if (chkEmail($_POST['email']) || $_POST['email'] =='')
						{
						$email = strtolower($_POST['email']);
						}
						else
						{
						$errore = "Campo Mail non Corretto";
						echo "<script type='text/javascript'>window.alert('Campo Mail Non Corretto')</script>";
						}			
					}		
		
		if (isset($_POST['squadra']))

			$squadra = strtolower($_POST['squadra']);

		if (isset($_POST['presidente']))

			$presidente = strtolower($_POST['presidente']);

		
		if (!isset($errore))
			{
		$query = mysql_query("UPDATE squadra SET squadra='$squadra', presidente='$presidente', email='$email', telefono='$telefono' WHERE id_squadra='$id_squadra'");
		       
		echo "<script type='text/javascript'>window.alert('Squadra Modificata');
		window.location = './index.php';
		</script>";
			}
				 
	}
	else
	{
	echo "<script type='text/javascript'>window.alert('Tutti i campi devono essere compilati')</script>";
	}
}

else
	{
	if(isset($_POST['elimina_squadra']))
	{
	$query_update = mysql_query("UPDATE giocatori SET id_squadra='0' WHERE id_squadra='$id_squadra'");	
	$query_delete = mysql_query("DELETE FROM squadra WHERE id_squadra='$id_squadra'");
  	echo "<script type='text/javascript'>window.alert('Eliminazione Riuscita');
	     window.location = './index.php';</script>";
	}
}
?>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Lega Ri Pacci - Modifica Squadra</title>
<link href="css/style.css" rel="stylesheet" type="text/css" media="screen" />
</head>
<body>
<div id="content">
<div id="eti">
<h3><a href="insert_giocatori.php">Inserisci Giocatori</a></h3>
</div>
<div id="body">

<div id="form">
<h1>Modifica Squadra</h1>
<form id="mod_squadra" name="mod_squadra"  method="post" action="<?php $_SERVER['PHP_SELF']?>">

<label for "squadra">Squadra</label>
<input name="squadra" value="<?php  echo $rigo['squadra']; ?>" type="text" size="20" />

<label for "presidente">Presidente</label>
<input name="presidente" value="<?php  echo $rigo['presidente']; ?>" type="text" size="20" /> 

<label for "email">Email</label>
<input name="email" value="<?php  echo $rigo['email']; ?>" type="text" size="20" />

<label for "telefono">Telefono</label>
<input name="telefono" value="<?php  echo $rigo['telefono']; ?>" type="text" size="20" /> 

<input name="salva" type="submit" value="Salva" id="submit" />
<input name="elimina_squadra" type="submit" value="Elimina Squadra" id="submit" onclick="return conferma()" />
</form>
</div>
</div>
</div>
</body>
</html>
<?php require_once("close.php");?>
 
Ultima modifica di un moderatore:
Visto che lo metti in sessione potresti risolvere cosi
PHP:
if (isset($_SESSION['id_squadra'])) {
            $id_squadra = $_SESSION["id_squadra"];
        } else {
            $id_squadra = ($_POST['id_squadra']);
            $_SESSION["id_squadra"] = $id_squadra;
        }
non ho visto pero la modifica che ti ho suggerito
PHP:
<input name="salva" type="submit" value="Salva" id="submit" />
<input type="hidden" name="id_squadra" value="<?php echo $id_squadra; ?>"/>
 

Discussioni simili

M
Risposte
12
Visite
3K
HTML e CSS
Membro cancellato 26246
M