Php-mysql-jquery

giusy86

Nuovo Utente
7 Mar 2013
4
0
0
Ciao a tutti, sono nuova in questo forum e mi sto avvicinando alla programmazione web. Sto realizzando una semplice pagina html che permetta di inserire un nuovo annuncio attraverso la compilazione di una form. La pagina l'ho scritta con HTML. La convalida dei campi l'ho fatta con JQUERY. Poi a parte ho scritto una classe in php che mi permetta di fare la connessione ad db e inserire un nuovo record. Separatamente tutto funziona ma quando cerca di mettere tutto insieme, non riesco ad aggiungere il record alla base di dati. Vi posto il mio esempio:

Il seguente è lo script che ho inserito nella pagina html per la convalida dei dati:
HTML:
[SIZE=2]<script>
            jQuery(document).ready(function(){
                jQuery("#new-commento").validationEngine('attach', {
                    onValidationComplete: function(form, status) {
                        if (status == true) {
                            var nickname = jQuery("#nickname").val();
                            var email = jQuery('#mail').val();
                            var tel = jQuery('#tel').val();
                            var commento = jQuery('#commento').val();
                            $.post(
                                './index.php',
                                {
                                    "nickname" : nickname,
                                    "email" : email,
                                    "tel" : tel,
                                    "commento" : commento
                                },
                                function(response) {}
                            );
                        } else {
                            alert('KO');
                        }
                    }
                });
            });
           
        
        </script> [/SIZE]


Il seguente è lo script php per salvarmi il valore dei campi e quindi richiama la classe php per fare l'inserimento nel db:


PHP:
<?php
    include "funzioniMySql.php";
    
    if(isset($_POST["nickname"]) && isset($_POST["mail"]) && isset($_POST["tel"]) && isset($_POST["commento"])) {
        $nickname = $_POST["nickname"];
        $mail = $_POST["mail"];
        $tel = $_POST["tel"];
        $commento = $_POST["commento"];
        $data = new FunzioneSQL();
        $data->connetti("localhost","root", "root", "inserzioni");
        $data->inserisci("commento", $nickname, $mail, $tel, $commento);
    } else {
        echo "ERROR";
    }
 ?>
Grazie per il vostro aiuto!
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Quali errori ti vengono fuori? Solo la non riuscita esecuzione della query? Hai provato a simularne una dal phpmyadmin, ed è andata a buon fine? Oppure non invia la chiamata in ajax?

Inoltre noto che nella chiamata in ajax non hai implementato la funzione col testo di risposta per valutare se sia andata a buon fine o meno.
 

giusy86

Nuovo Utente
7 Mar 2013
4
0
0
Quali errori ti vengono fuori? Solo la non riuscita esecuzione della query? Hai provato a simularne una dal phpmyadmin, ed è andata a buon fine? Oppure non invia la chiamata in ajax?

Inoltre noto che nella chiamata in ajax non hai implementato la funzione col testo di risposta per valutare se sia andata a buon fine o meno.



Allora ho provato a fare questa cosa:

Ho modificato lo script php in questo modo:

PHP:
<?php

     $conn = mysql_connect('localhost', 'root', 'root');
     $db   = mysql_select_db('inserzioni');
     if(mysql_query("INSERT INTO commento VALUES('giusy', '[email protected]', '098', 'nuovo commnetooooooooooooo')"))
        echo "OK";
    else
	echo "KO";

e ho aperto la pagina html da phpmyadmin (http://127.0.0.1/siti/index.html) e l'inserimento avviene correttamente.

Poi ho provato ad usare lo script php del post precedente e ho aperto la pagina html sempre con phpmyadmin e mi da l'errore sulla riga di codice:

if(isset($_POST["nickname"]) && isset($_POST["mail"]) && isset($_POST["tel"]) && isset($_POST["commento"]))


Se infine apro la pagina html dal browser normalmente (cioè senza phpmyadmin) allora non funziona né in un modo né nell'altro.

Purtroppo è la prima volta che faccio questo tipo di cose ... quindi non sono per niente pratica!!! :( Ti ringrazio per il tuo aiuto!
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Quale errore ti da a quella linea?

Con isset, puoi elencare direttamente tutte le variabili che devono essere settate
PHP:
if(isset($_POST["nickname"],$_POST["mail"],$_POST["tel"],$_POST["commento"])){ //...

se non sei sicura che quelle variabili vengano spedite fai un var_dump($_POST) e vedi il response di jquery
Codice:
function(response) {
   alert(response);
}

Se sono inviate correttamente allora il problema forse è nella classe per le funzioni sql che hai fatto

ps: passa a mysqli o pdo in futuro
 

giusy86

Nuovo Utente
7 Mar 2013
4
0
0
Quale errore ti da a quella linea?

Con isset, puoi elencare direttamente tutte le variabili che devono essere settate
PHP:
if(isset($_POST["nickname"],$_POST["mail"],$_POST["tel"],$_POST["commento"])){ //...

se non sei sicura che quelle variabili vengano spedite fai un var_dump($_POST) e vedi il response di jquery
Codice:
function(response) {
   alert(response);
}

Se sono inviate correttamente allora il problema forse è nella classe per le funzioni sql che hai fatto

ps: passa a mysqli o pdo in futuro



Io credo che il mio problema sia dovuto al fatto che ho troppe poche conoscenze riguardo a Php :( ..... Forse potrei ora postare qualcosa la cui risposta sarà: "Prova a leggere un tutorial PHP prima di postare sul forum" e avete tutte le ragioni per dirmi così!!!!In ogni caso voglio provarci ;)

Allora ho lo script php salvato in un file "index.php":

PHP:
<?php
    include "funzioniMySql.php";
    
    if(isset($_POST["nickname"]) && isset($_POST["mail"]) && isset($_POST["tel"]) && isset($_POST["commento"])) {
        $nickname = $_POST["nickname"];
        $mail = $_POST["mail"];
        $tel = $_POST["tel"];
        $commento = $_POST["commento"];
        $variabile_php = "OK";
        echo "OK";
    } else {
        $variabile_php = "ERROR";
        echo "ERROR";
    }
?>

Poi ho la pagina HTML con questo script:

HTML:
<script>
            jQuery(document).ready(function(){
                jQuery("#new-commento").validationEngine('attach', {
                    onValidationComplete: function(form, status) {
                        if (status == true) {
                            var nickname = jQuery("#nickname").val();
                            var email = jQuery('#mail').val();
                            var tel = jQuery('#tel').val();
                            var commento = jQuery('#commento').val();
                            $.post(
                                './index.php', { "nickname" : nickname, "email" : email, "tel" : tel, "commento" : commento },
                                function(response) {
                                    //$("#result").html(response);
                                    //alert(response);
                                    var variabile = "<?php echo($variabile_php); ?>";
                                    alert("Variabile ---->>" + variabile);
                                }
                            );
                        } else {
                            alert('KO');
                        }
                    }
                });
            });
        </script>

Ora la mia domanda prima di tutto è: come faccio a stampare il valore di una variabile nella pagina html preso dallo script php? Se stampo il valore di response ottengo: "obj XMLDocument". Se capisco questa cosa, posso vedere cosa succede nello script php e individuare anche l'errore.

Vi ringrazio e scusatemi per la mia "incompetenza"!!!!!
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Prova inserendo il dataType come testo

Codice:
 $.post(
   './index.php', { "nickname" : nickname, "email" : email, "tel" : tel, "commento" : commento },
                                function(response) {
                                   $("#result").html(response);
                                },  'text'
         );
 

giusy86

Nuovo Utente
7 Mar 2013
4
0
0
Prova inserendo il dataType come testo

Codice:
 $.post(
   './index.php', { "nickname" : nickname, "email" : email, "tel" : tel, "commento" : commento },
                                function(response) {
                                   $("#result").html(response);
                                },  'text'
         );




Non va bene, mi stampa tutto lo script!!!Credo che sia il caso di darmi una lettura a qualche tutorial base per php altrimenti non ne esco più fuori!!!! Ti ringrazio per la tua disponibilità ......... posterò cmq la soluzione corretta!!!!!! :rolleyes:
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Non va bene, mi stampa tutto lo script!!!Credo che sia il caso di darmi una lettura a qualche tutorial base per php altrimenti non ne esco più fuori!!!! Ti ringrazio per la tua disponibilità ......... posterò cmq la soluzione corretta!!!!!! :rolleyes:
Okey, prova eventualmente cambiando il dataType da text ad html (se ho capito cosa intendi)
 
Discussioni simili
Autore Titolo Forum Risposte Data
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
G [Javascript] jQuery PHP MySql - inserire variabile nel DataBase Javascript 8
filomeni Autocomplete jquery con php/mysql Snippet Javascript 0
andrea.peo Autocomplete Jquery php mysql su più campi inpunts jQuery 8
S Autocompletamente con jQuery, PHP e MySQL - Problema con le query PHP 7
L php mysql non salva solo id PHP 21
L php mysql cerca e visualizza pagina PHP 0
Z MySql injection PHP PHP 1
D problema php mysql PHP 1
D problema php mysql PHP 1
L Google chart php mysql PHP 2
L Aiuto per programma web php/mySQL PHP 2
S Problemi delle funzioni eliminate con PHP e MySQL PHP 4
C Aiuto compiuto scuola PHP/MySQL PHP 2
G Problema caricamento tabelle MySql da PhP PHP 0
L update tabelle in php mysql [risolto] PHP 6
F Passare una variabile php dal DB mysql alla pagina PHP 3
B Fare calcoli con php da tabella mysql PHP 2
D [MySQL] [PHP] SQL andare da capo MySQL 0
P [OFFRO] Realizzazione siti web in PHP/MYSQL, responsive e Ottimizzati SEO Offerte e Richieste di Lavoro e/o Collaborazione 0
Tommy03 Firebase o PHP+Mysql? Sviluppo app per Android 0
pjtertdj Visualizzazione dati in php da mysql con funzione matematica in javascript PHP 1
E Cerco programmatore PHP/Mysql - retribuito Offerte e Richieste di Lavoro e/o Collaborazione 0
K [RISOLTO] Problema Griglia Php+Mysql PHP 13
Z Gestionale in Php/mysql: Quanto farsi pagare? Aiuto! Discussioni Varie 0
E Inserimento dati da PHP in tabella MySQL PHP 5
R radio input php mysql PHP 2
E Caricare dati da DB MySql all'apertura pagina, meglio PHP o Javascript? PHP 1
giusebos [retribuito] Cercasi programmatore PHP/MySql Offerte e Richieste di Lavoro e/o Collaborazione 1
N Apache + MySQL + PHP MacOs Mojave Web Server 0
T PHP+MYSQL: problema con quelle maledette lettere accentate... PHP 5
K [PHP + MYSQL ] Inserimento dati in database da form dinamico PHP 13
M [PHP] Metodo migliore per fare login a un DB Mysql PHP 1
gandalf1959 problema con la codifica caratteri accentati e speciali tra php e mysql PHP 3
webmachine [PHP][MYSQL] Problema con le SELECT PHP 5
V Creare tabella mysql con php non funziona PHP 1
W Area riservata sicura PHP MySQL PHP 12
G php salvare file in campo blob mysql: massimo 4MB PHP 1
xone [Vendo] Gestionale Magazzino PHP-MYSQL Altri Annunci 0
M Stampare con php e mysql PHP 8
P Importazione dati da file xml in db mysql con php PHP 17
xone [Vendo] Script gestionale php-mysql gestione pratiche Altri Annunci 0
D problemi login php 5.6 mysql PHP 1
T PHP+MYSQL: stampare record con numero progressivo PHP 3
F php PDO mysql connessione(select_db) PHP 3
O paginazione php mysql PHP 10
Fede72 Controllo registrazioni PHP Mysql PHP 5
M Aggioranre record in tabella PHP MYSQL PHP 2
T PHP+MYSQL: una select che cerchi un campo vuoto PHP 7
C Php/Mysql query JOIN tra tabelle PHP 4

Discussioni simili