Inserrimento/modifica php e mysql

djmatto

Utente Attivo
19 Feb 2009
40
0
0
però perchè se commento la parte che mi hai dato tu il form mi compare?Non dovrebbe dare ugualmente problemi?
Il form nel vecchio metodo html si fa inserendolo sempre nella stessa pagina inserisci.php o lo devo fare su una pagina a parte?

Grazie infinite per l'enorme aiuto che mi stai dando se riesco a finirlo ti ergo una statua a cavallo:fonzie:
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
puoi metterlo nella stessa pagina


?>
<form action="<?php $_SERVER['PHO_SELF'] ?> metod....

</form>
<?php
se ti serva altro php



p.s.
non so quanto riesco a rispomderti ho dei problemi sull'adsl
che va e viene
 
Ultima modifica:

djmatto

Utente Attivo
19 Feb 2009
40
0
0
Senti io alla fine ho
PHP:
else
{
    echo <<<MODULO__QUERY
    <h2>Prenotazioni posti ristorante</h2>
    <form action="$_SERVER[PHP_SELF]" method="POST">
e lo sostituisto semplicemente con:
PHP:
else
{
    <h2>Prenotazioni posti ristorante</h2>
    <form action="$_SERVER[PHP_SELF]" method="POST">

perchè così non funziona

PS: naturalmente il ModuleQuery l'ho eliminato anche alla fine!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
perche per avere htm devi uscire da php e rientrare in php dopo il form e poi chiuderlo nuovamente
<?php

//tutto quello che hai prima del form

else
{
?>
<h2>Prenotazioni posti ristorante</h2>
<form action=<?php "$_SERVER[PHP_SELF] ?>" method="POST">
tutti gli imput che tiservono
</form>
<?php
}//chiusura dell'else


?>

p.s.
al posto di <?php "$_SERVER[PHP_SELF] ?>" puoi mettere il nome della pagina stessa
es. action="mia_pagina.php"

usualmente si usa $_SERVER se stai nella stessa pagina così se gli cambi il nome non devi preuccuparti
 

djmatto

Utente Attivo
19 Feb 2009
40
0
0
Non va uguale

PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
        <title>Prenotazione posti ristorante</title>
    </head>
<body>

<h1>cazzo1</h1>
<?php
include('alcuneFunzioni.php');
include('funzioniConnessione.php');

function ControlloEmail($email){
	$result = eregi("^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$",$email);
	if($result == false){
		return false;
	}else{
		return true;
	}
}

?>

<?php
if(isset($_POST['giorno']))
{
    $messaggio = "";
    if(!soloCifre($_POST['giorno'], 2))
    {
        $messaggio = "Il giorno deve essere di due cifre";
        echo "    <strong>$messaggio</strong>\n";
    }
    else
    {
        $connessione = connetti();
             $nome=$_POST['nome'];
	         $cognome=$_POST['cognome'];
	         $email=$_POST['email'];
	         $giorno=$_POST['giorno';]
	         $mese=$_POST['mese'];
	         $posti=$_POST['posti'];
	         //qui verifichi i dati immessi se sono giusti
	         var_dump($nome); 
	         echo "<br>";
	         var_dump($cognome); 
	         echo "<br>";
	         var_dump($email); 
	         echo "<br>";
	         var_dump($giorno); 
	         echo "<br>";
	         var_dump($mese); 
	         echo "<br>";
	         var_dump($posti); 
	         echo "<br>";
	         //fine verifica dati immessi


	        $query = "INSERT INTO prenotazioni SET (nome, cognome, email, giorno, mese, posti) VALUES ('".$nome."', '".$cognome."','".$email."', '".$giorno."', '".$mese."', '".$posti."')"; 

	        $risultato = mysqli_query($connessione, $query) //verifiva se va prima query o connessione secondo me query
	            or die("operazione di inserimento errata<br>\nErrore: ".mysqli_error($connessione)); 
	         var_dump($risultato); //se FALSE non inserito
	        echo "<br>";

	        $numInseriti = mysqli_affected_rows($risultato); 

	        $query = "SELECT posti FROM disponibilita WHERE giorno = '12 Marzo'";  
	        $risultato = mysql_query($connessione, $query);  
	        var_dump($risultato); //se FALSE non letto
	        echo "<br>";
	        $row = mysql_fetch_array($risultato);
	        $posti_prima_di_prenotazione = $row['posti'];

	        var_dump($posti_prima_di_prenotazione); //verifica posti prima
	        echo "<br>";
	        $posti_dopo_prenotazione = (int)$posti_prima_di_prenotazione - (int)$posti;    
	        var_dump($posti_dopo_prenotazione); //verifichi il cacolo dovrebbe darti tipo variabile = INT 
	        echo "<br>";
	        $query = "UPDATE disponibilita SET posti = '$posti_dopo_prenotazione' WHERE giorno = '".$giorno."' AND mese = '".$mese."'"; 
	        var_dump($query);//vedi se la query è giusta 
	        echo "<br>";
	        $uppa=mysql_query($connessione, $query); 
	        var_dump($uppa);// se da FALSE hia un errrore e non uppa 
	        echo "<br>";
		
        if($numInseriti > 0 )
            echo "sono stati inseriti $numInseriti record\n";
        else
            echo "NESSUN RECORD INSERITO\n";
    }
    echo "<hr><a href=\"$_SERVER[PHP_SELF]\">torna alla pagina inserimento</a>\n";*/
}

else
{
	?>
    <h2>Prenotazioni posti ristorante</h2>
    <form action="$_SERVER[PHP_SELF]" method="POST">
    <table border="0" cellpadding="5">

        <tr>
            <td>nome:</td>
            <td><input type="text" size="30" name="nome"/></td>
        </tr>
        <tr>
            <td>cognome:</td>
            <td><input type="text" size="30" name="cognome"/></td>
        </tr>
		<tr>
            <td>email:</td>
            <td><input type="text" size="30" name="email"/></td>
        </tr>
		<tr>
            <td>giorno (solo giorno):</td>
            <td><input type="text" size="2" name="giorno"/></td>
        </tr>
		<tr>
            <td>mese:</td>
            <td><input type="text" size="10" name="mese"/></td>
        </tr>
		<tr>
            <td>Posti:</td>
            <td><input type="text" size="2" name="posti"/></td>
        </tr>
        <tr>
            <td colspan="2" align="center"><input type="submit" value="inserisci"></td>
        </tr>
    </table>
    </form>
  <?php  
}
	?>

<hr><a href="index.html">torna alla pagina di gestione tabella</a>
</body>
</html>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ho notato <h1> all'inizio (quello funzia?)

guarda che nel form $_SERVER..ecc..
devi racchiuderlo in php in quanto se non lo chiudi non viene interpretato come codice php

action="<?php $_SERVER[PHP_SELF] ?>"
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
alla riga 40
correggi $_POST['giorno';] in $_POST['giorno'];
alla riga 92
echo "<hr><a href=\"$_SERVER[PHP_SELF]\">torna alla pagina inserimento</a>\n";*/
elimina */ alla fine

ho provato lo script in locale e salvo gli errori logici degli include e della connessione che non ho per il resto funzia
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
copia quasto scrit in una pag php con nome diverso e provala, ho commentato tutti cli include/funzioni e riferimento al db e messo dei valori fittizi ai dati che avrebbero dovuto essere presi dal db.
guardale e studiale perche funzia

PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional"> 
<html> 
    <head> 
        <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> 
        <title>Prenotazione posti ristorante</title> 
    </head> 
<body> 

<h1>cazzo1</h1> 
<?php 
//include('alcuneFunzioni.php'); 
//include('funzioniConnessione.php'); 

function ControlloEmail($email){ 
    $result = eregi("^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$",$email); 
    if($result == false){ 
        return false; 
    }else{ 
        return true; 
    } 
} 

?> 

<?php 
if(isset($_POST['giorno'])) 
{ 
    $messaggio = ""; 
    if(strlen($_POST['giorno']<2)) 
    { 
        $messaggio = "Il giorno deve essere di due cifre"; 
        echo "    <strong>$messaggio</strong>\n"; 
    } 
    else 
    { 
        //$connessione = connetti(); 
             $nome=$_POST['nome']; 
             $cognome=$_POST['cognome']; 
             $email=$_POST['email']; 
             $giorno=$_POST['giorno'] ;
             $mese=$_POST['mese']; 
             $posti=$_POST['posti']; 
             //qui verifichi i dati immessi se sono giusti 
             var_dump($nome);  
             echo "<br>"; 
             var_dump($cognome);  
             echo "<br>"; 
             var_dump($email);  
             echo "<br>"; 
             var_dump($giorno);  
             echo "<br>"; 
             var_dump($mese);  
             echo "<br>"; 
             var_dump($posti);  
             echo "<br>"; 
             //fine verifica dati immessi 

/*
            $query = "INSERT INTO prenotazioni SET (nome, cognome, email, giorno, mese, posti) VALUES ('".$nome."', '".$cognome."','".$email."', '".$giorno."', '".$mese."', '".$posti."')";  

            $risultato = mysqli_query($connessione, $query) //verifiva se va prima query o connessione secondo me query 
                or die("operazione di inserimento errata<br>\nErrore: ".mysqli_error($connessione));  
             var_dump($risultato); //se FALSE non inserito 
            echo "<br>"; 
*/
            $numInseriti = 5;//mysqli_affected_rows($risultato);  
/*
            $query = "SELECT posti FROM disponibilita WHERE giorno = '12 Marzo'";   
            $risultato = mysql_query($connessione, $query);   
            var_dump($risultato); //se FALSE non letto 
            echo "<br>"; 
            $row = mysql_fetch_array($risultato); 
*/
            $posti_prima_di_prenotazione = 8;//$row['posti']; 

            var_dump($posti_prima_di_prenotazione); //verifica posti prima 
            echo "<br>"; 
            $posti_dopo_prenotazione = (int)$posti_prima_di_prenotazione - (int)$posti;     
            var_dump($posti_dopo_prenotazione); //verifichi il cacolo dovrebbe darti tipo variabile = INT  
            echo "<br>"; 
/*
            $query = "UPDATE disponibilita SET posti = '$posti_dopo_prenotazione' WHERE giorno = '".$giorno."' AND mese = '".$mese."'";  
            var_dump($query);//vedi se la query è giusta  
            echo "<br>"; 
            $uppa=mysql_query($connessione, $query);  
            var_dump($uppa);// se da FALSE hia un errrore e non uppa  
            echo "<br>"; 
 */
        if($numInseriti > 0 ) 
            echo "sono stati inseriti $numInseriti record\n"; 
        else 
            echo "NESSUN RECORD INSERITO\n"; 
    } 
    echo "<hr><a href=\"$_SERVER[PHP_SELF]\">torna alla pagina inserimento</a>\n";
} 

else 
{ 
    ?> 
    <h2>Prenotazioni posti ristorante</h2> 
    <form action="<?php $_SERVER['PHP_SELF'] ?>"  method="POST"> 
    <table border="0" cellpadding="5"> 

        <tr> 
            <td>nome:</td> 
            <td><input type="text" size="30" name="nome"/></td> 
        </tr> 
        <tr> 
            <td>cognome:</td> 
            <td><input type="text" size="30" name="cognome"/></td> 
        </tr> 
        <tr> 
            <td>email:</td> 
            <td><input type="text" size="30" name="email"/></td> 
        </tr> 
        <tr> 
            <td>giorno (solo giorno):</td> 
            <td><input type="text" size="2" name="giorno"/></td> 
        </tr> 
        <tr> 
            <td>mese:</td> 
            <td><input type="text" size="10" name="mese"/></td> 
        </tr> 
        <tr> 
            <td>Posti:</td> 
            <td><input type="text" size="2" name="posti"/></td> 
        </tr> 
        <tr> 
            <td colspan="2" align="center"><input type="submit" value="inserisci"></td> 
        </tr> 
    </table> 
    </form> 
  <?php   
} 
    ?> 

<hr><a href="index.html">torna alla pagina di gestione tabella</a> 
</body> 
</html>

vedrai i var dump che stampano i valori che immetti nel form
 

djmatto

Utente Attivo
19 Feb 2009
40
0
0
grazie infinite ora va però mi restituisce:
string(4) "Luca"
string(5) "Rossi"
string(14) "[email protected]"
string(2) "12"
string(5) "marzo"
string(1) "3"
operazione di inserimento errata
Errore: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(nome, cognome, email, giorno, mese, posti) VALUES ('Luca', 'Rossi','blu@hotmail' at line 1
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
hai ragione (io non vedo le query e quindi non me ne ero accorto)
correggi la riga

$query = "INSERT INTO prenotazioni SET (nome, cognome, email, giorno, mese, posti) VALUES ('".$nome."', '".$cognome."','".$email."', '".$giorno."', '".$mese."', '".$posti."')";

in

$query = "INSERT INTO prenotazioni (nome, cognome, email, giorno, mese, posti) VALUES ('".$nome."', '".$cognome."','".$email."', '".$giorno."', '".$mese."', '".$posti."')";

classico errore di copia incolla
 

djmatto

Utente Attivo
19 Feb 2009
40
0
0
Ok grazie però ora mi da:

string(4) "Luca"
string(5) "Rossi"
string(14) "[email protected]"
string(2) "12"
string(5) "marzo"
string(1) "3"
bool(true)
bool(false)
NULL
int(-3)
string(76) "UPDATE disponibilita SET posti = '-3' WHERE giorno = '12' AND mese = 'marzo'"
bool(false)
NESSUN RECORD INSERITO

ma nella tabella prenotazioni inserisce i campi ma nella disponibilità non li scala
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
non mi ero dimenticato, ma sono stato isolato sino a stamattina, ora "sembrerebbe" che l'adsl funzioni

sembrerebbe ch ci fosse un errorre nella seconda query (bool= false)

inserisci un
var_dump($query);
echo "<br>";

sudito dopo la $qury="SELECT....
e guarda cosa ti da
 

djmatto

Utente Attivo
19 Feb 2009
40
0
0
Il risultato è:

string(4) "Luca"
string(8) "Buffetti"
string(14) "[email protected]"
string(2) "12"
string(5) "marzo"
NULL
operazione di inserimento errata
Errore:

e l'ho inserito qui:

PHP:
	        $query = "INSERT INTO prenotazioni (nome, cognome, email, giorno, mese, posti) VALUES ('".$nome."', '".$cognome."','".$email."', '".$giorno."', '".$mese."', '".$posti."')"; 

	        $risultato = mysql_query($connessione, $query) //verifiva se va prima query o connessione secondo me query
	            or die("operazione di inserimento errata<br>\nErrore: ".mysql_error($connessione)); 
	         var_dump($risultato); //se FALSE non inserito
	        echo "<br>";
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
mi sembrava di avertelo gia detto (se no scusa)
togli quel SET
$query = "INSERT INTO prenotazioni SET (nome, cognome, email, giorno....
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao la query di insert

PHP:
 $query = "INSERT INTO prenotazioni (nome, cognome, email, giorno, mese, posti) VALUES ('".$nome."', '".$cognome."','".$email."', '".$giorno."', '".$mese."', '".$posti."')";

mi sembra scitta giusta
l'unica cosa che non vedo (nei var_dump che mi hai postato) è il numero dei posti (hai tolto il var_dump?)

fai una verifica dell'ortografia tra i nomi della tabella e campi e quello che hai scritto nella query
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
controlla anche la query

PHP:
$query = "SELECT posti FROM disponibilita WHERE giorno = '12 Marzo'";

che secondo me dovrebbe essere

PHP:
$query = "SELECT posti FROM disponibilita WHERE giorno = '12' AND mese='marzo'";

ed al posto di 12 e marzo dovresti mettere i valori di $_POST

facciamo così: fai le correzioni e mi riposti tutto lo script come l'hai modificato
 

djmatto

Utente Attivo
19 Feb 2009
40
0
0
Senti a me sembra tutto giusto, ora, ho cambiato l'ultimo posti del form che era scritto maiuscolo ma ora scrive:
string(4) "Luca"
string(8) "Buffetti"
string(14) "[email protected]"
string(2) "12"
string(5) "marzo"
string(1) "3"
operazione di inserimento errata
Errore:
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
anche a me sembrerebbe giusto, ma evidentemente c'è un errore nell'INSERT, riverifica esattamente, basta una "cacatella" fuori posto che non funzia (un apice messo male ad es.).
prova a postarmi le caratteristiche delle tabelle con relativi campi
 
Discussioni simili
Autore Titolo Forum Risposte Data
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
P Cerco programmatore per modifica sito wordpress Offerte e Richieste di Lavoro e/o Collaborazione 4
Z Modifica ricorsiva file html HTML e CSS 3
Trapano [PHP] modifica simultanea di più campi nel db PHP 1
K [CERCO] Programmatore per modifica tema wp Offerte e Richieste di Lavoro e/o Collaborazione 2
U modifica sender-receiver email Posta Elettronica 4
W modifica firma Supporto Mr.Webmaster 20
M Modifica parametro mysql_result($result, $i, 'id') Deprecato dal 5.5 PHP 10
X modifica contemporanea di record MS Access 6
J [WP] Chiarimenti modifica campo WordPress 0
A Form per modifica record database PHP 9

Discussioni simili