Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 16 su 16

Discussione: query di inserimento

  1. #11
    Queste sono tutte le pagine coinvolte nell'inserimento di un immobile ad uso privato

    impriv_var.php
    Codice PHP:
     <?php
    #FILE CONTENENTE IL RECUPERO DELLE VARIABILI DAL FORM DI INSERIMENTO DI UN IMMOBILE AD USO PRIVATO

    session_start();
    ?>

    <link href="stili.css" rel="stylesheet" type="text/css" />
    <table valign="top">
    <tr>

    <?php
    #RECUPERO DELLE VARIABILI#
    #dati dell'immobile
    $uso "privato";
    $tipo $_POST['tipo'];
    $nlocali $_POST['nlocali'];
    $mq $_POST['mq'];
    $statoocc $_POST['statoocc']; #RICORDATI CHE NEL DOMINIO APPLICATIVO LO VUOLE SAPERE NELL'ANNUNCIO!
    $giorno $_POST['giorno']; #RICORDATI CHE NEL DOMINIO APPLICATIVO LO VUOLE SAPERE NELL'ANNUNCIO!
    $mese $_POST['mese']; #RICORDATI CHE NEL DOMINIO APPLICATIVO LO VUOLE SAPERE NELL'ANNUNCIO!
    $anno $_POST['anno']; #RICORDATI CHE NEL DOMINIO APPLICATIVO LO VUOLE SAPERE NELL'ANNUNCIO!
    $postoauto $_POST['postoauto'];
    $descrizione $_POST['descrizione'];
    #dati dell'indirizzo    
    $via $_POST['via'];
    $nciv $_POST['nciv'];
    $cap $_POST['cap'];
    $comune $_POST['comune'];
    $prov $_POST['prov'];
    $reg $_POST['reg'];
    $piano $_POST['piano'];

    #INCLUDO PAGINA CON I MESSAGGI D'ERRORE RELATIVI ALL'INSERIMENTO DI UN IMMOBILE COMMERCIALE
    include('impriv_contr.php');

    #INCLUDO PAGINA CON LE QUERY RELATIVE ALL'INSERIMENTO DI UN IMMOBILE 
    include('queryinserimentoimmobile.php');

    #INCLUDO PAGINA CON LE QUERY RELATIVE ALL'INSERIMENTO DEL RECAPITO DI UN IMMOBILE 
    #include('queryinserimentorecapito.php');
    ?>
    </tr>
    </table>
    impriv_contr.php
    Codice PHP:
    <?php
    #FILE CONTENENTE I MESSAGGI DI ERRORE RELATIVI ALL'ERRATA COMPILAZIONE DEL FORM DI INSERIMENTO DI IMMOBILI AD USO PRIVATO

    session_start();

    #MESSAGGI DI ERRORE#
    $mex "";
    if (
    $tipo=="Seleziona"){   
        
    $mex $mex "[*]Non hai selezionato il tipo di immobile\n";
    }
    if (!empty(
    $nlocali) && !is_numeric($nlocali)){
        
    $mex $mex "[*]Per il numeri di locali devi inserire un valore numerico\n";
    }
    if (
    $tipo=="Appartamento" && empty($nlocali)){
        
    $mex $mex "[*]Se hai selezionato 'Appartamento', allora devi inserire il numero di locali\n";
    }
    if (
    $tipo!="Appartamento" && (!empty($nlocali))){
        
    $mex $mex "[*]Il numero di locali va inserito solo nel caso tu abbia selezionato 'Appartamento'\n";
    }
    if (empty(
    $mq)){   
        
    $mex $mex "[*]Non hai inserito la metratura\n";
    }
    if (!empty(
    $mq) && !is_numeric($mq)){
        
    $mex $mex "[*]Non hai inserito una metratura valida\n";
    }
    if (empty(
    $postoauto)){
        
    $mex $mex "[*]Non hai selezionato il posto auto\n";
    }
    if (empty(
    $descrizione)){   
        
    $mex $mex "[*]Non hai inserito la descrizione\n";
    }
    if (
    $tipo=="Appartamento" && empty($piano)){
        
    $mex $mex "[*]Se hai selezionato 'Appartamento', allora devi inserire il piano a cui si trova\n";
    }
    if (
    $tipo!="Appartamento" && (!empty($piano))){
        
    $mex $mex "[*]Il piano va inserito solo nel caso tu abbia selezionato 'Appartamento'\n";
    }
    if (empty(
    $via)){   
        
    $mex $mex "[*]Non hai inserito la via\n";
    }
    if (empty(
    $nciv)){   
        
    $mex $mex "[*]Non hai inserito il numero civico\n";
    }
    if (empty(
    $cap)){
        
    $mex $mex "[*]Non hai inserito il codice di avviamento postale\n";
    }
    if (!empty(
    $cap)){
        if (!
    is_numeric($cap)){
            
    $mex $mex "[*]Non hai inserito correttamente il codice di avviamento postale\n";
        }
    }
    if (!empty(
    $statoocc) && $statoocc=="Liberoda" && (empty($giorno) || empty($mese) || empty($anno))){
        
    $mex $mex "[*]Non hai inserito la data\n";
    }
    if (empty(
    $statoocc) && ($giorno!="Seleziona" || $mese!="Seleziona" || $anno!="Seleziona")){
        
    $mex $mex "[*]Non hai inserito correttamente lo stato occupazionale. Hai inserito la data ma non lo stato\n";
    }
    if (!empty(
    $statoocc) && $statoocc!="Liberoda" && ($giorno!="Seleziona" || $mese!="Seleziona" || $anno!="Seleziona")){
        
    $mex $mex "[*]Non hai inserito correttamente lo stato occupazionale\n";
    }
    if (!empty(
    $giorno) && !empty($mese) && !empty($anno) && $statoocc=="Liberoda"){
        
    #CONTROLLO MESI 'CORTI'
        
    if (($giorno=="30" || $giorno=="31") && $mese=="Febbraio"){
            
    $mex $mex "[*]Hai inserito una data non valida. " $mese " non può avere " $giorno " giorni\n";
        }
        if (
    $giorno=="31" && ($mese=="Novembre" || $mese=="Aprile" || $mese=="Giugno" || $mese=="Settembre")){
            
    $mex $mex "[*]Hai inserito una data non valida. " $mese " non può avere " $giorno " giorni\n";
        }
        
    #CONTROLLO ANNI BISESTILI PER FEBBRAIO
        
    if ($giorno=="29" && $mese=="Febbraio" && ($anno!="2012" && $anno!="2016" && $anno!="2020")){
            
    $mex $mex "[*]Hai inserito una data non valida. Il " $anno " non è un anno bisestile\n";
        }
    }
    include(
    'data_contr.php');
    #PER COMUNE, PROV, REGIONE, DOVRò FARE UN CONTROLLO MAGGIORE!
    if (empty($comune)){   
        
    $mex $mex "[*]Non hai inserito il comune\n";
    }
    #NON FUNZIONA...
    /*if (!empty($comune)){
        if (is_numeric($comune)){
            $mex = $mex . "[*]Non hai inserito correttamente il comune. Non può contenere numeri\n";
        }
    }*/
    if ($prov=="Seleziona"){
        
    $mex $mex "[*]Non hai inserito la provincia\n";
    }
    if (
    $reg=="Seleziona"){
        
    $mex $mex "[*]Non hai inserito la regione\n";
    }
    #CONTROLLO PROVINCIA-REGIONE
    include('controllo_provreg.php');

    if (
    $mex!=""){
        
    $mex "Attenzione torna indietro\n" $mex;
        echo 
    "<span class='testo'>" .$mex"</span>";
        
    ?><form method="POST" action="impriv.php"><input type="submit" value="Indietro"></form><?php
        
    exit;
    }
    ?>
    queryinserimentoimmobile.php
    Codice PHP:
    <?php
    #FILE CONTENENTE LE QUERY PER L'INSERIMENTO NEL DB DI UN IMMOBILE

    session_start();
    require(
    'pg_connect.php');

    if (
    $mex==""){
        
    $que = new db();
        
    $que->db_open();
        
    #NEL CASO IN CUI IL TIPO NON SIA APPARTAMENTO IL NLOCALI DEVE ESSERE NULL
        
    if ($nlocali==0){
            
    $result $que->query("INSERT INTO immobile (tipo, uso, mq, postoauto, descrizione) VALUES ('".$tipo."', '".$uso."', '$mq', '".$postoauto."', '".$descrizione."')");
        }else{
            
    $result $que->query("INSERT INTO immobile (tipo, uso, mq, postoauto, descrizione, nlocali) VALUES ('".$tipo."', '".$uso."', '$mq', '".$postoauto."', '".$descrizione."', '$nlocali')");
        }
        
    #SE LA QUERY NON ANDASSE A BUON FINE, TORNA ALLA RELATIVA PAGINA DI INSERIMENTO IMMOBILE
        
    if (!$result) {
            
    ?><tr><td class="testo">Ops! C'&egrave qualcosa che non va!</td></tr><?php
            
    if ($uso=="privato"){
                
    ?><tr><td class="testo"><form method=post action="impriv.php"><input type="submit" value="Indietro"></td></tr><?php
            
    }elseif ($uso=="commerciale"){
                
    ?><tr><td class="testo"><form method=post action="imcomm.php"><input type="submit" value="Indietro"></td></tr><?php
            
    }
            exit;
        }else{
            
    ?><td class="testo">Immobile inserito! Torna all'[url="home.php"]homepage[/url].</td><?php
        
    }
        
    $que->db_close();
    }
    pg_connect.php
    Codice PHP:
     <?php
    #FILE CONTENENTE LA CLASSE E LE FUNZIONI RELATIVE ALL'APERTURA E ALL'UTILIZZO DEL DATABASE
    session_start();
    class 
    db{
        function 
    db_open(){
            
    $this->db_conn pg_connect("host=localhost port=5432 dbname=postgres user=postgres password=mikmik");
            if (!
    $this->db_conn){
                echo 
    "
    Errore impossibile connettersi al db 
    $this->dbname
    "
    ;
            }
        }
        function 
    query($query){
            
    $result pg_query($this->db_conn,$query);
            return 
    $result;
        }
        function 
    query_numrows($query){
            
    $result pg_query($this->db_conn,$query);
            
    $numrows pg_num_rows($result);
            return 
    $numrows;
        }
        function 
    query_tipoutente(){
            
    $result pg_query($this->db_conn"SELECT tipoutente FROM utente WHERE username='".$_SESSION['username']."' AND pw='".$_SESSION['password']."'");
            
    $record_tipo pg_fetch_row($result);
            
    $tipo $record_tipo[0];
            return 
    $tipo;
        }
        function 
    query_fetch_row($query){
            
    $result1 pg_query($this->db_conn$query);
            
    $record pg_fetch_row($result1);
            
    $result2 $record[0];
            return 
    $result2;
        }
        function 
    db_close() {
            
    pg_close($this->db_conn);
        }
        
    }
    ?>

  2. #12
    Prova ad inserire un po' di echo nel codice in modo da capire che giro fa.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #13
    Buondì!
    Ho provato a fare gli echo delle query e mi stampa la query con le variabili correttamente.

  4. #14
    Se le query le stampa e sono corrette mi sembra strano che poi non faccia l'insert. Prova a stampare la query e poi a eseguirla manualmente.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #15
    E' proprio per questo che non riesco a capire il perché non mi faccia l'insert.
    Se le stampo la query è corretta e mi stampa le variabili.
    Se la eseguo manualmente mi inserisce l'immobile.

  6. #16
    Provando e riprovando:
    Codice PHP:
    <?php
    #FILE CONTENENTE LE QUERY PER L'INSERIMENTO NEL DB DI UN IMMOBILE

    session_start();
    #require('pg_connect.php');

    if ($mex==""){
        
    #$que = new db();
        #$que->db_open();
        #NEL CASO IN CUI IL TIPO NON SIA APPARTAMENTO IL NLOCALI DEVE ESSERE NULL
        
    if ($nlocali!=0){
            
    $db pg_connect("host=localhost port=5432 dbname=postgres user=postgres password=mikmik");
            
    $result pg_query($db"INSERT INTO immobile (tipo, uso, mq, postoauto, descrizione, nlocali) VALUES ('".$tipo."', '".$uso."', '$mq', '".$postoauto."', '".$descrizione."', '$nlocali')");
            
    #$result = $que->query("INSERT INTO immobile (tipo, uso, mq, postoauto, descrizione, nlocali) VALUES ('".$tipo."', '".$uso."', '$mq', '".$postoauto."', '".$descrizione."', '$nlocali')");
        
    }else{
            
    $result pg_query($db"INSERT INTO immobile (tipo, uso, mq, postoauto, descrizione) VALUES ('".$tipo."', '".$uso."', '$mq', '".$postoauto."', '".$descrizione."')");
            
    #$result = $que->query("INSERT INTO immobile (tipo, uso, mq, postoauto, descrizione) VALUES ('".$tipo."', '".$uso."', '$mq', '".$postoauto."', '".$descrizione."')");

        
    }
        
    #SE LA QUERY NON ANDASSE A BUON FINE, TORNA ALLA RELATIVA PAGINA DI INSERIMENTO IMMOBILE
        
    if (!$result) {
            
    ?><tr><td class="testo">Ops! C'&egrave qualcosa che non va!</td></tr><?php
            
    if ($uso=="privato"){
                
    ?><tr><td class="testo"><form method=post action="impriv.php"><input type="submit" value="Indietro"></td></tr><?php
            
    }elseif ($uso=="commerciale"){
                
    ?><tr><td class="testo"><form method=post action="imcomm.php"><input type="submit" value="Indietro"></td></tr><?php
            
    }
            exit;
        }else{
            
    ?><td class="testo">Immobile inserito! Torna all'[url="home.php"]homepage[/url].</td><?php
        
    }
        
    #$que->db_close();

    ?>
    Mi sono accorta che se non uso le funzioni che ho creato io ma quelle predefinite di postgres la query funziona (e non capisco perché visto che le mie funzioni vanno per altre pagine).
    Ma non funziona la parte relativa al numero di locali!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.