modifica campo non funziona

lelemkop

Utente Attivo
2 Lug 2013
55
0
6
Ciao a tutti, sono nuovo sia di programmazione che del forum.
Vengo subito al problema che sto incontrando.
I miei genitore hanno un piccolo negozietto di autoricambi e volevo creare un db con mysql e php dove tener presente tutti i clienti e le loro auto.
Ho provato a creare due tabelle relazionate, ma ho desistito per una serie di ragioni.
Quindi avevo pensato di creare un'unica tabella dove inserire prima i dati del cliente e successivamente modificare/aggiungere dati nei campi prescelti.
Vi posto le pagine php.
inserisci.php
PHP:
<?php
session_start();
isset($_SESSION['check'])  ?  $check =  $_SESSION['check']  :  $check = '';
$caso = microtime();
$str = <<<FORM
<html><body>
<form method = "POST" action = "$_SERVER[PHP_SELF]">

<input type="text" name="cognome" id="cognome"  placeholder="'Cognome'" style="width: 500px;"/>
<input type="text" name="nome" id="nome"  placeholder="'Nome'" style="width: 500px;"/>
<input type="text" name="telefono" id="telefono"  placeholder="'Telefono'" style="width: 500px;"/>
<input type="text" name="operatore" id="operatore"  placeholder="'Operatore'" style="width: 500px;"/>
<input type="submit" value="Aggiungi">
<a href="http://192.168.0.9/cerca.php">CERCA</a>
<a href="http://192.168.0.9/tabella1.php">tabella</a>
</body></html>
FORM;
if(isset($_POST['cognome'], $_POST['nome']) AND $_POST['cognome']!='' AND $_POST['nome']!='')
  {
          if($check === MD5(serialize($_POST)) ) {
                  echo "<br />Dati gia immessi - ciao ciao";
                  echo $str;
                  exit;
                  } else {

                  
	  $cognome = trim($_POST['cognome']);
		  $nome = trim($_POST['nome']);
		  $telefono = trim($_POST['telefono']);
                  $operatore = trim($_POST['operatore']);

$tipologia= strtoupper ($tipologia);
$cognome = strtoupper($_POST['cognome']);
$nome = strtoupper($_POST['nome']);
$telefono = strtoupper($_POST['telefono']);
$operatore = strtoupper($_POST['operatore']);

                  require "conn.php";
                  mysql_select_db('prova');

                  mysql_query("INSERT INTO interventi (cognome,nome,telefono,operatore)
                               VALUES ( NOW(), '$cognome','$nome','$telefono','$operatore')");
                  $num = mysql_affected_rows();

                     if($num == 1)  {
                       echo "<br />Dati inseriti<br />";
                       $_SESSION['check'] = MD5(serialize($_POST));
                       echo $str;
                       exit;
                       }
                            else  {
                                  echo "<br />Dati NON inseriti - Riprova";
                                  echo $str;
                                  exit;
                                   }
                 }

 }  
else {
        echo $str;
      }
?>

stampo tutto a video trmaite tabella.php
<html>

  <head>
   <title>Test</title>
<link rel="stylesheet" type="text/css" href="tabella.css">
  </head>

  <body bgcolor="white">
<?php
include 'conn.php';
 

echo '<br><br>';
echo "<span style=\"color: black; allign: center; font-size: 36pt\">SCHEDE IN ATTO</span>";
$sql = "SELECT * FROM clienti order by id";
$res = mysql_query($sql) or die(mysql_error());
 
echo '
<table border="0" cellpadding="10" cellspacing="0">
<tr>
<td><b>id</b></td>
<td><b>cognome</b></td>
<td><b>nome</b></td>
<td><b>telefono</b></td>
<td><b>operatore</b></td>
<td><b>auto</b></td>
<td><b>targa</b></td>
<td></td>
<td></td>
</tr>
 
	';
 
while ($row = mysql_fetch_array($res))
{
	echo '
<tr>
<td>' . $row['id'] . '</td>
<td>' . $row['cognome'] . '</td>
<td>' . $row['nome'] . '</td>
<td>' . $row['telefono'] . '</td>
<td>' . $row['operatore'] . '</td>
<td>' . $row['auto'] . '</td>
<td>' . $row['targa'] . '</td>
<td><a href="auto.php?id=' . $row['id'] . '">[Aggiungi Auto]</a></td>
<td><a href="salva.php?id=' . $row['id'] . '">[Chiudi]</a></td>
</tr>
 
		';
}
 
echo '</table>
 
';
?>
 </body>

  </html>
Come vedete ci sono due campi in più (Auto e targa) che vorrei inserire successivamente
Vorrei modificare tutto tramite la pagina auto.php
PHP:
<html>
<body>
<form action="tabella1.php" method="POST">
Auto:<input size='16'  name ='auto' style="width: 250px;"/>
Targa:<input size='16'  name ='targa' style="width: 250px;"/>
<input type="submit">
</form>
</body>
</html>
<?
$con=mysqli_connect("localhost", "root", "", "prova");
if (mysqli_connect_errno())
{
echo "connessione fallita".mysqli_connect_errno();
}
$id="$_GET[id]";
$auto = strtoupper($_POST['auto']);
$targa = strtoupper($_POST['targa']);
$sql="SELECT id FROM clienti";
$sqlins = " UPDATE clienti SET auto = '$auto', targa=$targa' where id='" . $_GET["id"] . "'";
if (!mysqli_query($con,$sql))
{
die ('Errore: '.mysqli_error($sql));
}
echo "Connesso";
mysqli_close($con);
?>
Il mio problema è che le prime due pagine lavorano egregiamente mente auto.php non mi modifica i campi auto e targa.
Dove sbaglio???
Grazie
 
Ultima modifica di un moderatore:

f107

Utente Attivo
7 Ago 2012
206
6
18
Roma
Ciao,
Prima di tutto una cosa quasi totalmente estetica e per risparmio di caratteri...
Questo:
PHP:
isset($_SESSION['check'])  ?  $check =  $_SESSION['check']  :  $check = '';
lo puoi scrivere anche cosi
PHP:
$check =  isset($_SESSION['check'])  ?  $_SESSION['check']  : '';

<html>
<body>
<form action="tabella1.php" method="POST">
Auto:<input size='16' name ='auto' style="width: 250px;"/>
Targa:<input size='16' name ='targa' style="width: 250px;"/>
<input type="submit">
</form>
</body>
</html>
<?
$con=mysqli_connect("localhost", "root", "", "prova");
if (mysqli_connect_errno())
{
echo "connessione fallita".mysqli_connect_errno();
}
$id="$_GET[id]";
$auto = strtoupper($_POST['auto']);
$targa = strtoupper($_POST['targa']);
$sql="SELECT id FROM clienti";
$sqlins = " UPDATE clienti SET auto = '$auto', targa=$targa' where id='" . $_GET["id"] . "'";
if (!mysqli_query($con,$sql))
{
die ('Errore: '.mysqli_error($sql));
}
echo "Connesso";
mysqli_close($con);
?>
Il mio problema è che le prime due pagine lavorano egregiamente mente auto.php non mi modifica i campi auto e targa.
Dove sbaglio???
Grazie

Non ho capito... questa è la pagina auto.php??
 

f107

Utente Attivo
7 Ago 2012
206
6
18
Roma
PHP:
<html>
<body>
<form action="tabella1.php" method="POST">
Auto:<input size='16' name ='auto' style="width: 250px;"/>
Targa:<input size='16' name ='targa' style="width: 250px;"/>
<input type="submit">
</form>
</body>
</html>

l'action del form ti manda sulla pagina tabella1.php, mentre tu il codice dell'upload ce l'hai su auto.php
inoltre io aggiungerei un campo hidden che si popola con l'id. Es:
PHP:
<html>
<body>
<form action="" method="POST">
Auto:<input size='16' name ='auto' style="width: 250px;"/>
Targa:<input size='16' name ='targa' style="width: 250px;"/>
<input type="hidden" name="id" value="<?php echo intval($_GET['id'); ?>" />
<input type="submit">
</form>
</body>
</html>

Inoltre se vuoi lasciare tutto sulla stessa pagina metti un controllo... Per esempio:
PHP:
//controllo se è stato inviato qualcosa
if(isset($_POST['auto']) || (isset($_POST['targa'])):


$con=mysqli_connect("localhost", "root", "", "prova");
if (mysqli_connect_errno())
{
echo "connessione fallita".mysqli_connect_errno();
}
//$id="$_GET[id]";
$id=intval($_POST['id']); //le virgolette esterne non servono, servono quelle interne! intval prende solo i numeri da quello che gli si passa
$auto = strtoupper($_POST['auto']);
$targa = strtoupper($_POST['targa']);
//$sql="SELECT id FROM clienti"; // a cosa serve??
$sqlins = " UPDATE clienti SET auto = '$auto', targa='$targa' where id= $id"; // mancava un ' a targa, hai valorizzato la variabile $id, usiamola.
if (!mysqli_query($con,$sqlins )) //penso che dobbiamo eseguire sqlins  non sql. correggimi se sbaglio
{
die ('Errore: '.mysqli_error($sqlins ));
}
echo "Connesso";
mysqli_close($con); // questo non serve.. php lo chiude automaticamente ma se vuoi lasciarlo non cambia nulla

//chiudo il controllo
endif;

Ho messo un po' di commenti.
Dimmi se funziona
 
Ultima modifica:

lelemkop

Utente Attivo
2 Lug 2013
55
0
6
Grazie per le risposte e soprattutto per i commenti.

if(isset($_POST['auto']) || (isset($_POST['targa'])):

mi da questo errore

Parse error: syntax error, unexpected ':' in /var/www/auto.php on line 13
ho provato a mettere anche ; ma mi da lo steso errore.
 

f107

Utente Attivo
7 Ago 2012
206
6
18
Roma
c'era una parentesi di troppo. errore mio
PHP:
if(isset($_POST['auto']) || isset($_POST['targa'])):
 

lelemkop

Utente Attivo
2 Lug 2013
55
0
6
Ti devo fare i complimenti.
Funziona tutto e soprattutto me l'hai spiegato come se lo spiegassi ad un bambino di 4 anni ( cit. Philadelfia).
Ti ringrazio ancora...
 
Discussioni simili
Autore Titolo Forum Risposte Data
J [WP] Chiarimenti modifica campo WordPress 0
F Query modifica contenuto campo MySQL 5
Monital Modifica di un campo in funzione di un valore estratto, moltiplicando altri valori PHP 30
G modifica campo testo in url Classic ASP 8
M Modifica dello sfondo di un campo in una sottomaschera MS Access 0
RedWolf Conoscere modifica campo tabella mySQL Database 1
M individuare l'ora della modifica del valore nel campo MySQL 0
G Modifica campo mysql PHP 3
C modifica contenuto campo MySQL 1
M Modifica Campo Contatore Database 0
D Jquery - modifica elemenento onlick jQuery 1
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
JeiMax Modifica codice php personalizzato PHP 2
P Pagina modifica record che non funziona PHP 0
L Modifica file upload in ASP Classic ASP 2
P modifica colore A Hover link website . WordPress 2
P Modifica con PHP di un node in una sitemap xml PHP 0
C Software modifica sitoweb in tempo reale WordPress 12
G Modifica immagine di sfondo attraverso un bottone PHP 18
L modifica dati. PHP 1
G modifica corretta funzione da eregi() a preg_match() PHP 3
R Modifica codice per l'upload di più file PHP 1
G Modifica testo Photoshop 3
felino Excel: popolare una cella con la data di modifica della riga a cui appartiene Windows e Software 3
felino [Wordpress] Modifica main color del template WordPress 8
M [PHP] Modifica account PHP 3
S [OFFRO] Creazione di programmi per la modifica automatizzata di testi Offerte e Richieste di Lavoro e/o Collaborazione 0
S [OFFRO] Rimozione o aggiunta di Password ai file PDF e opzionalmente loro modifica Offerte e Richieste di Lavoro e/o Collaborazione 2
F [PHP] modifica del body email con checked PHP 8
G Modifica da sito statico HTML a dinamico in Wordpress SEO e Posizionamento 1
Cosina Modifica script textarea jQuery 0
M [PHP] Calcolare costi su modifica orari PHP 4
A [PHP] Modifica caratteri di una query Oracle SQL PHP 0
F modifica recensione google Discussioni Varie 2
C Photoshop CS 6 salvare una modifica Photoshop 0
L [PHP] Modifica in tabella ultimo id PHP 5
C Pagina fb notifica modifica post Social Media Marketing 1
Q Notice: Undefined index: codice in C:\xampp\htdocs\STAGE\calendario\modifica.php on line 10 PHP 8
C [Joomla] [HTML] Modifica codice per adattamento app Joomla 18
Daniele_Carrara [Javascript] Modifica input date Javascript 5
J modifica spooler di stampa per stampare in ordine di nome i files pdf Windows e Software 2
Emix [PHP] Ricerca e modifica su due tabelle PHP 26
M [PHP] Tabella datagrid con icona di modifica che cambia in base a parametro PHP 0
Andrea1981 [WordPress] [HTML] Help modifica credits nel footer.Tema Customizr. WordPress 5
K [Visual Basic] Stampa e modifica record non funziona più Visual Basic 0
K [ASP.Net] Problema stampa e modifica ms sql ASP.NET 0
K stampa e modifica tabella in php e ms sql PHP 2
Michaelweb93 [WordPress] [HTML] Modifica sezione - pagina sito web WordPress 1
A [PHP] [RISOLTO] Modifica record db da form PHP 11
T [PHP] piccola modifica a script (non mio...) PHP 8

Discussioni simili