problema inserimento record multipli col tasto f5

nicoct

Nuovo Utente
5 Mag 2013
16
0
0
Come da titolo ho un problema con un form che fa un insert in una tabella mysql.
il form deve registrare alcuni dati che verranno visualizzati in una tabella nella stessa pagina del form,con il layout della pagina e l'inserimento dei dati non nessun problema ma essendo l'insert e la select nella stessa pagina premendo il tasto f5 per vedere l'aggiornamento della tabella il risultato e la creazione di tanti record uguali quante le volte che aggiorno la pagina.
avevo provato con un mysql_num_rows su una query che cerca i cognomi uguali e non li inserisce ma il risultato era sempre 0 anche quando nella tabella c'è ne sono diversi,qualcuno può darmi una soluzione?
PHP:
<tr>
				<td>NOME
				</td>
				<td>COGNOME
				</td>
				<td>TELEFONO
				</td>
			</tr>
			<?php
				mysql_connect('localhost','root');
				mysql_query('use lcl');
				$query=mysql_query("select nome,cognome,contatto from partita");
				while($t=mysql_fetch_row($query)){
				echo "<tr>";
					foreach($t as $campo){
						echo "<td align='center'>" . $campo . "</td>";
					}
				echo "</tr>";
				}
			?>
			<tr>
				<td id="reg" style="background-color:#007fff;color:#fff; font-weight:bold;"align="center" colspan="3">
					REGISTRATI
				</td>
			</tr>
		</table>
		<div id="new" >
			<table align="center" >
				<form action="partita.php" method="get">
					<tr align="center">
						<td>
							inserisci il tuo nome
						</td>
						<td>
							inserisci il tuo cognome
						</td>
						<td>
							inserisci il tuo numero
						</td>
					</tr>
					<tr>
						<td>
							<input type="text" name="nome"/>
						</td>
						<td>
							<input type="text" name="cognome"/>
						</td>
						<td>
							<input type="text" name="contatto"/>
						</td>
					</tr>
					<tr>
						<td align="center" colspan="3">
							<input id="submit" type="submit" value="OK"/>
						</td>
					</tr>
				</form>
			</table>
		</div>
		<?php
			$nome=$_GET['nome'];
			$cognome=$_GET['cognome'];
			$contatto=$_GET['contatto'];
			
			/*echo $nome ." ". $cognome ." ". $contatto;*/
			mysql_connect('localhost','root');
			mysql_query('use lcl');
			mysql_query("insert into partita values('$nome','$cognome','$contatto');");
			mysql_close();
 
Ultima modifica di un moderatore:

Salvo Salvi

Utente Attivo
14 Nov 2012
230
0
0
Scusa non capisco perchè lanci un ciclo foreach.
Non so se mi sbaglio ma non ti basta il while?
e dopo fai ad esmpeio $t['id'];
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
oltre a quanto detto da salvo:
- c'è una ragione particolare per usare il method="get" al posto del più sicuro method="post"?
- perche non dai un name al pulsante di submit es. name="invia" e poi non metti, per fare l'insert, almeno if(isset($_POST['invia'])){...inserisci...} ?
-inserire i dati senza un controllo (anche se li metti solo tu) è pericoloso, basta che ti trovi un cognome del tipo D'Amore e il db ti va in palla
- vedo mysql_connect('localhost','root') che, almeno mi sembra se stai usando mysql, non è corretto
mysql_connect(host,username,password) hai cancellato la password?
- sempre se stai usando mysql non vedo la selezione del db mysql_select_db(nome db)
- ultimo, ma non meno importante, abbandona le vecchie istruzioni mysql e passa a quelle mysqli o alla classe pdo, a breve non funzioneranno più
 

nicoct

Nuovo Utente
5 Mag 2013
16
0
0
intanto grazie mille per i consigli,
per quanto riguarda il ciclo foreach mi serve perchè sopra il div "new" che crea un nuovo record c'è la tabella con la select di tutti i record gia inseriti (da quello che ho capito il problema della creazione di nuovi record nell'aggiornamento della pagina sta proprio nel fatto che l'action del form sia nella pagina stessa e quindi i dati vengono riinviati tante volte quante viene premuto il tasto f5 );
per quanto riguarda il metodo credo non faccia differenza anche perchè non ci sono dati importanti comunque non dovrei avere problemi a modificarlo;
il controllo sull'insert è da fare ma al momento sono il locale quindi lo sto lasciando per ultimo;
mysql_connect(host,username,password) da quello che mi hanno spiegato se il webserver o il server online non hanno impostata la password non c'è bisogno di inserirla (sia in locale sia sui server altervista problemi non ne sto avendo);
db mysql_select_db(nome db) ---> mysql_query('use lcl');
manco ho iniziato a studiare mysql che già è stato sorpassato? bene, tanto per capire mysqli è un framework (tipo jquery per javascript) o un linguaggio a se?.
 

Salvo Salvi

Utente Attivo
14 Nov 2012
230
0
0
mysqli è simile al mysql, ma meglio di mysqli è il pdo adattabile a tutti i tipi di database.
Io ti consiglio di riscrivere lo script con il pdo è dopo farcelo rivedere cosi potremo riaiutarti.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
comunque sia le istruzioni mysqli che le pdo sono php, il db rimane sempre mysql.
è un nuovo approccio di interrogazione.
manco ho iniziato a studiare mysql che già è stato sorpassato?
e quello è niente, pensa a chi deve riscrivere tutti gli script, tavolta innumerevoli.
a chi ha reso obsolete le istruzioni mysql devono fischiare le orecchie per tutti gli accidenti che glio ho mandato e che continuo a mandargli
 

nicoct

Nuovo Utente
5 Mag 2013
16
0
0
a chi ha reso obsolete le istruzioni mysql devono fischiare le orecchie per tutti gli accidenti che gli ho mandato e che continuo a mandargli
hahaha in effetti hanno tempi di aggiornamento troppo veloci, comunque entro la settimana prossima dovrei avere l'esame di programmazione quindi prima di studiarmi mysqli e pdo e capace confonderli con mysql all'esame metto in pausa e riprendo appena finito.
ancora grazie per l'aiuto.:fonzie:
 
Discussioni simili
Autore Titolo Forum Risposte Data
S Problema inserimento nuovo record da form PHP 5
asevenx problema con l'inserimento di un record nel database (caratteri non consentiti) PHP 11
S problema con inserimento nuovo record PHP 6
F Problema con il modulo inserimento record Classic ASP 1
M Problema inserimento parole con apostrofo nel db PHP 5
beatle [Photoshop] problema inserimento immagini Photoshop 1
G inserimento csv in tabella mysql; problema con struttura PHP 11
P [PHP] Problema inserimento nuove chiavi in array PHP 2
giuseppe_123 [WordPress] Problema inserimento widget nel footer WordPress 0
T Problema inserimento dati in phpmyadmin PHP 2
L Problema Inserimento Azioni Su mappa vettoriale Javascript 0
otto9due Problema inserimento ciclo foreach o while in variabile PHP 1
M Problema inserimento dati in sqlite Sviluppo app per Android 1
M Problema con modulo registrazione e inserimento dati in database PHP 8
Marcoingrande Problema inserimento testo in <ul> PHP 0
P Problema inserimento controllo su script multiupload... PHP 2
P Problema Inserimento nuovo element database... MySQL 3
radioButton Problema inserimento stringa con apostrofo in database sql Database 21
B Problema inserimento dati con apostrofo MySQL 1
O [risolto] Inserimento nuovo campo in mysql. Problema PHP 6
Emix Problema query inserimento... PHP 6
P Problema inserimento articolo con piu' tabelle PHP 1
EffeElle Php problema su inserimento dati mysql PHP 47
M problema con l'inserimento di dati in un tag input PHP 3
P problema inserimento dato in rubrica PHP 9
Dexter_90 [AIUTO!] Problema Inserimento Menu Fireworks nell'Header WordPress 11
A problema con l'inserimento di valori in una tabella dopo una ricerca da form Classic ASP 1
E Problema inserimento LIKE BOX facebook HTML e CSS 3
B Problema di inserimento "menu con css" in pagina web "con tabelle" HTML e CSS 5
J Problema con inserimento dati tabella PHP 4
asevenx problema inserimento database nel sito online MySQL 3
G Help - Problema inserimento dati in maschera MySQL 4
T problema inserimento testo attraverso istruzione insert ASP.NET 1
G Problema inserimento dati in una maschera Database 0
N [PHP/MySQL] Problema inserimento stringhe ' or ', ' and ' PHP 2
G problema con inserimento dati PHP 4
A Problema inserimento in puù tabelle Database 1
A problema inserimento foto PHP 0
F Problema inserimento dati Classic ASP 1
I Sto progettando nuovi siti utilizzando bootstrap e devo dire funziona bene, l'unico problema e la maschera -moz- HTML e CSS 0
K Problema form update PHP 2
O problema con dvr dahua xvr5116 IP Cam e Videosorveglianza 0
S Problema nel ciclare un json Javascript 0
G Problema con Xampp Web Server 1
andrea barletta Problema con miniature comandi Photoshop 0
I problema con alice Posta Elettronica 0
K Problema Inner join PHP 1
F firefox problema http Linux e Software 0
N Problema con position absolute e overflow HTML e CSS 4
E Problema jquery Success jQuery 2

Discussioni simili