problemi con inser into e riga bianca nel db

paperinik4

Utente Attivo
29 Mag 2011
1.812
0
36
Roma
www.ricetteagogo.it
Salve a tutti,

Ho il seguente problema. Stavo facendo delle prove con mysqli e sono giunto ad inserire i dati da tastiera. Solo che quando vado ad inserirli mi da due avvisi:

1) Errore nell'inserire idati;

e subito dopo:

2) Dati inseriti correttamente.

Vado a controllare nel db di phpmyadmin riga vuota. Non capisco dove sbaglio. Spero che voi mi possiate correggere l'errore sicuramente è banale e stupido lo so già. Ma da solo non sono riuscito a trovarlo sigh sob :(


PHP:
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        
      
    <label for="nuovacitta">Nuova città: <input type="text" id="nuovacitta" name="nuovacitta" ></label>

    
<div align ="center">
    
<input type="submit" name="submit" value="Aggiungi Città" />
</div>
</form>
        <?php
 require_once("connettimysqli.php");
 if (!isset($_POST['submit'])) {  

 $sql ="INSERT INTO localita (nuovacitta) VALUES ('$nuovacitta')";
 
die ("Errore nell'isenrimento dati");
}else{
    
die ("Dati inseriti correttamente nel db.");    
}
        ?>
    </body>
</html>

Come potete vedere vorrei fare tutto in una pagina senza richiamo forse l'errore sta nel fatto che non c'è form all'inizio dell'input ???? Spero in voi grazie.
 

paperinik4

Utente Attivo
29 Mag 2011
1.812
0
36
Roma
www.ricetteagogo.it
problemi con insert into e riga bianca nel db

Ciao borgo,

Mi rivolgo a te sperando che mi possa dare una soluzione. Allora ho eseguuito il tuo consiglio di lasciare il veccho mysql e passare al nuovo. Ho cercato sia nel forum che su internet svariati esempi li ho provati ma il risultato rimane che il db mi rimane vuoto e mi duplica le righe. ossia invece di inserire un record ne aggiunge due alla volta perchè appena lo faccio girare mi compare "Dati nseriti correttamente", poi ci metto ilnome della città e così divenatno due ma sempre con rigghe vuote. Invece io vorrei fare in modo che la scritta "Dati inseriti correttamente" compaia dopo aver prenuto il tassto "aggiungi" che viene gestito nella stessa pagina per comodità. Ti riposto la nuova versione del listato precedentemente postato prima. Questa dovrebbe avere già la funzione di mysqli.

provacitta.php:

PHP:
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        
<!--<form action="aggiungicitta.php" method="post">-->

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">  
      
    Nuova Città: <input type="text" name="nuovacitta" id="nuovacitta" />
 
<div align ="center">
    
<input type="submit" value="Aggiungi Città" />
</div>
</form>
        <?php
 if (!isset($_POST['submit'])) {  

        require_once("connettimysqli.php");

$mysqli->query ("INSERT INTO localitai (nuovacitta) VALUES ('$nuovacitta')");

   
 $con = mysqli_query($con, $query);
        if (!$res)
            echo mysqli_error($con);
        else
            echo "Nuova città inserita correttamente";
    } else {
        echo "Errore nell'inserimento dati. ";
    }
?>
    </body>
</html>

Mi potresti verificare se il codice sia il campo input e seguente è corretto oppure ci sono degli errori e magari correggermeli per favore ??? Non so più che fare :( Grazie spero in te e in voi.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
148
63
PR
www.borgo-italia.it
ciao
1) non puoi mescolare la programmazzione ad oggetti con la procedurale
usando la procedurale manca
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
e la, se usi quella ad oggetti,
$con = mysqli_query($con, $query);
è sbagliata
2) usi la variabile $nuovacitta, da dove salta fuori?
probabilmente intendevi
$nuovacitta=$_POST['nuovacitta'];
3) stesso discorso per la variabile $res
4) non hai dato il name al submit quindi non trova $_POST['submit']
5) non capisco bene cosa intendi con quegli if/else, forse hai sbagliato alcune aperture e/o chiusure

ricorda che con mysqli puoi usare o il sistema ad oggetti o il procedurale (ma non mischiati), se non conosci bene la programmazione ad oggetti usa il procedurale che è molto simile alle vecchie mysql

p.s.
non so cosa tu abbia dentro il file connettimysqli.php, il vecchio tipo di connessione?
 

paperinik4

Utente Attivo
29 Mag 2011
1.812
0
36
Roma
www.ricetteagogo.it
Ciao Borgo,

Grazie per la risposta. Allora nel file connettimysqli.php ovviamente c'è la nuova connessione con mysqli. Ti posto il codice:


connettimysqli.php

PHP:
$host     = 'nas';
$user     = 'fabio';
$password = 'xxxx';
$db     = 'MegaLaboratorio';

// Stringa di connessione al db on mysqli
$mysqli = new mysqli($host, $user, $password, $db); 

if ($mysqli->connect_error) { 
	die ('Non riesco a connettermi: ' . mysqli_connect_errno());
}else{
         
    echo'<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';
    
      }
  
}

Questo è quello che connette con mysqli. Ora probabile ch eho fatto un po' di confusione perchè mentre cercavo su internet degli esempi mi sarò mangiato qualche cosa. Ma il punto è un altro (tanto quando infviato purtroppo non andava). Ho fatto tutto con il vecchio sistema mysql.php per capire se riuscivo ad ottenere quello che volevo. E in parte ci sono riuscito. Questo è quello che ho combinato. in pratica, l'utente inserisce la città che dovrebbe andare a finire nel menu con la freccetta in basso (select). Però se un altro utente proviene dalla stessa città e sta già in elenco, come fare a gestire la cosa ??? Inoltre c'è il problema che prendendo la città dalla select non me lo memorizza nel db. Ti posto il tutto vedi se quando hai tempo mi puoi dare una mano a sistemare le cose.E' tutto programmazione mysql quindi vecchio stile per facilitare le cose. Grazie in anticipo.


Tabella localita:

PHP:
CREATE TABLE localita(

id 		int(10) NOT NULL AUTO_INCREMENT,
nazione 		VARCHAR( 30 ) NOT NULL ,
nuovanazione	VARCHAR( 30 ) NOT NULL ,
citta 		VARCHAR( 30 ) NOT NULL ,
nuovacitta		VARCHAR( 30 ) NOT NULL ,
provincia 		VARCHAR( 2 ) NOT NULL ,
nuovaprovincia	VARCHAR( 2 ) NOT NULL ,
PRIMARY KEY ( id ) ENGINE = MYISAM ;
)

provainsdati.php

PHP:
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

    </head>
    <body>
        
<!--<form action="aggiungicitta.php" method="post">-->
    
 <form action='<?php echo $_SERVER['REQUEST_URI'];?>' method=post> 
     
<label for="citta">Inserisci Città: <input type="text" id="citta" name="citta" > </label>

        <?php
include_once("connetti.php");
if(isset($_POST['submit'])) {
    


$citta =mysql_real_escape_string(strtolower(trim ($_POST['citta'])));
$fbnuovacitta =mysql_real_escape_string(strtolower(trim ($_POST['nuovacitta'])));
 
#$q=mysql_query("SELECT descrizione FROM tblcategoria ORDER BY descrizione");

$q=mysql_query("SELECT citta FROM localita ORDER BY citta");
$vuota=mysql_num_rows($q);

if($vuota > 0){//fa vedere la select solo se ci sono categorie e mostra solo il'input nuovacategoria, in pratica solo la prima volta
	echo "Città: <select name=\"citta\">";
		echo "<option value=\"\">-seleziona-</option>";
	while($riga=mysql_fetch_assoc($q)){
		echo "<option value=\"".$riga['citta']."\">".$riga['citta']."</option>";
	}//fine while
echo "</select> ";

//verifica inserimento nuova città
	
	if($citta=="" && $fbnuovacitta !=""){//sto cercasndo di inserire una nuova categoria
		$q_cat=mysql_query("SELECT citta FROM localita WHERE citta'$fbnuovacitta'");
		$esiste=mysql_num_rows($q_cat);
		if($esiste==0){//non esiste quindi l'aggiungo
			$q_i=mysql_query("INSERT INTO localita (citta) VALUES('$fbnuovacitta')");
			$citta=$fbnuovacitta;//questo è il valore che andro ad inesrire nella tabella tblrivista
         }else{//se esiste  vuol dire che hai messo nel campo un valore che era nella selecct del form quindi
			$citta=$fbnuovacitta;//questo è il valore che andro ad inesrire nella tabella tblrivista
		}
	}
}//fine if vuota
        $q_i=mysql_query("INSERT INTO localita(citta, nuovacitta)  VALUES('$citta','$nuovacitta')");
       echo "<h1>nuovo record inserito</h1>";//e torno al form
        } //fine if submit
?>
<div align="center">
    
	<input name='submit' type='submit' value='Salva' />
</div>
</form>
        </body>
</html>

Questo è quello attuale che sto cercando di migliorare. Grazie e buona domenica.
 
Discussioni simili
Autore Titolo Forum Risposte Data
M Problemi con la stampa dei valori in php PHP 1
L Problemi con il login PHP 2
R Tutto su utf-8 ma ancora problemi con i caratteri speciali in mysql MySQL 1
Z problemi con foreach insert into PHP 10
B javascript per problemi con pdf e Safari Javascript 0
M Problemi con creazione maschere Presentati al Forum 1
M Problemi con query a più tabelle PHP 3
S Problemi delle funzioni eliminate con PHP e MySQL PHP 4
M Problemi con blog Grav Content Management System (CMS) 0
S incoerenza di stampa. problemi con il magenta Photoshop 3
A problemi con paypall Java 1
felino [Windows 8.1] Problemi con connessione WiFi Windows e Software 0
E [PHP] problemi nuova riga con fwrite su piattaforma android PHP 5
O [HTML] problemi con la regola "background-attachment: fixed" in EDGE HTML e CSS 0
M [PHP] Problemi con query unione PHP 11
M [PHP] Problemi con select PHP 6
ANDREA20 [HTML] problemi con il footer HTML e CSS 1
D [MS Access] problemi con inserimento campo in una maschera MS Access 6
M [PHP] Problemi con il riconoscimento login. PHP 21
A [WordPress] problemi con xampp WordPress 2
M Problemi con database Apache/2.4.37 (Win32) OpenSSL/1.1.1a PHP/7.3.1 PHP 6
S [PHP] problemi con le sessioni PHP 3
T [PHP] problemi con il browser PHP 0
Andrea_Ventura [HTML] Problemi con effetto hover HTML e CSS 5
M [PHP] Problemi con login facebook PHP 0
Andrea_Ventura [HTML] Problemi con visualizzazione Navigation Bar HTML e CSS 10
andreas88 Creare file .htaccess per risolvere alcuni problemi con il tester SEO SEO e Posizionamento 0
Eugene [Joomla] Problemi con modulo per strutture alberghiere JHotelreservation starter Joomla 6
F [PHP] Problemi di base con bot di telegram PHP 9
M [Photoshop] Problemi con importazione immagini trasparenti in indesign Photoshop 0
E [Photoshop] Problemi con dimensioni immagini Photoshop 12
G [HTML] Problemi con inserimento immagini HTML e CSS 7
L Problemi con Javascript e Mustache Javascript 0
G Invio Mail con PHPMailer, problemi SMTP PHP 7
A [Javascript] problemi con javascrip e posizione GPS html5 Javascript 6
D Due problemi con Photoshop... Photoshop 1
G Problemi con pagina online.php di una chat in php PHP 38
S Problemi con impostazioni php PHP 3
P Problemi con AndroidStudio Sviluppo app per Android 0
S Problemi con Dell Precision T5400 Windows e Software 2
F ciao, sono ferro e ho bisogno di aiuto per problemi con la mail di alice.it Presentati al Forum 1
S [PHP] Problemi con Login e pagina Utente PHP 5
Z problemi con swf e chrome o sistemi portatili Webdesign e Grafica 5
N Problemi connettività con Tp Link EAP 110 Reti LAN e Wireless 0
S [HTML] Problemi con Blueimp image gallery su Chrome e Firefox HTML e CSS 2
W [HTML] problemi con sito responsive Content Management System (CMS) 1
P problemi con nas o per chi conosce synology Altri Annunci 0
A [HTML] Problemi con l'installazione di Disqus HTML e CSS 5
P [PHP] problemi con session_start PHP 15
D Problemi con apache Web Server 1

Discussioni simili