Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    185

    problema database mysql piu php

    sullo spazio di altervista mi sono fatto un database cosi composto
    nome database my_idennis
    nome tabella Clienti
    campi:
    Id int not null auto_increment
    Nome text
    Cognome text
    Indirizzo text
    Città text
    Id_Opeazione int

    il codice php per passare i dati per riempire il database è il seguente
    Codice PHP:
    <?php
    // dati per la connessione al database
    $db_host "localhost";
    $db_user ""
    $db_password ""
    $db_name "my_idennis"
    // connessione al database 
    $db mysql_connect($db_host$db_user$db_password) or die( mysql_errno().": ".mysql_error()); $db_forum mysql_select_db($db_name$db) or die( mysql_errno().": ".mysql_error()); 
    // query di inserimento 
    $query "INSERT INTO `Clienti` (Id, Nome, Cognome, Indirizzo, Citta, Id_Operazione)  
    VALUES ('.
    $_POST['Id']."','".$_POST['Nome']."','".$_POST['Cognome']."','".$_POST['Indirizzo']."','".$_POST['Città']."', '".$_POST['Id_Operazione'].")"; 
    // esecuzione della query ....  
    $query_results = mysql_query($query) or die( mysql_errno()."".mysql_error()); 
    echo "
    &stop=1"; 
    ?>
    mentre il codice html per la form è questo

    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html> 
    	<head>
     		<title>Dennis</title>
     	</head>
     	<body>
     	<h2>Aggiungi nuovo cliente</h2>
     	<form method="post" action="insert.php">
     	Id: <input type="text" name="strNome"> 
    		
    
    	Nome: <input type="text" name="strNome">
     		
     	
    	Cognome: <input type="text" name="strCognome">
     		
     	
    	Indirizzo: <input type="text" name="strNome">
     		
     	
    	Città: <input type="text" name="strNome">
     		
     	
    	Id_Operazione: <input type="text" name="strNome"> 	
    	
    
     		<input type="submit" value="Registra Cliente">
     	</form> 
    	</body> 
    </html>

  2. #2
    letto e riletto ... manca la domanda.

    ad ogni modo hai un errore di query e questo lo puoi vedere gia' dalla colorazione del testo nel tuo post.

    Codice PHP:
    $query "INSERT INTO `Clienti` (Id, Nome, Cognome, Indirizzo, Citta, Id_Operazione)  
    VALUES ('.
    $_POST['Id']."','".$_POST['Nome']."','".$_POST['Cognome']."','".$_POST['Indirizzo']."','".$_POST['Città']."', '".$_POST['Id_Operazione'].")"; 
    // esecuzione della query ....  
    $query_results = mysql_query($query) or die( mysql_errno()."".mysql_error()); 
    echo "
    &stop=1"; 
    mentre se aggiungi il doppio apice che manca:

    Codice PHP:
    $query "INSERT INTO `Clienti` (Id, Nome, Cognome, Indirizzo, Citta, Id_Operazione)  
    VALUES ('"
    .$_POST['Id']."','".$_POST['Nome']."','".$_POST['Cognome']."','".$_POST['Indirizzo']."','".$_POST['Città']."', '".$_POST['Id_Operazione'].")"
    // esecuzione della query ....  
    $query_results mysql_query($query) or die( mysql_errno().": ".mysql_error()); 
    echo 
    "&stop=1"
    cos'e' &stop ??? ma mi chiedo perche' fare tutta questa fatica a scrivere le variabili a questo modo ... tanto la stringa deve essere tutta parsata, mica viene inviata al browser. Capisco entrare ed uscire dal php per evitare di parsare stringhe che vanno inviate tali e quali al browser, ma mi sfugge l'utilita' nella composizione di una variabile.

    Poi non usare lettere accentate con nomi di costanti o indici associativi, rischi incompatibilita'. Ed ancora... passare le stringhe cosi' come sono arrivate senza il minimo controllo non e' certo la cosa migliore a livello di sicurezza dei dati.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.