• User

    Adesso riesco a vedere solo il messaggio di errore, che non mi segnala l'impossibilità di inserire i dati..come risolverlo??
    ho fatto anche il var_dump per la query è mi da l'errore...come fare per risolvere??

    Dimento matta!!!


  • ModSenior

    Manca un apice:
    [php]
    $inserimentoannunci=mysql_query("INSERT INTO annunci_cerco ('title','body') VALUES ('$title', '$body')");
    [/php]


  • User

    @Thedarkita said:

    Manca un apice:
    [php]
    $inserimentoannunci=mysql_query("INSERT INTO annunci_cerco ('title','body') VALUES ('$title', '$body')");
    [/php]

    corretto, e funziona anche..ma inserisce solo il testo e non il titolo...
    come correggere??
    E come faccio poi a far mantenere quello che è stato inserito nella pagina,invece di perderlo con il logout e il caricamento della pagina??:o

    [PHP]<?php

    session_start();

    Include("varDB.inc");

    $conn=mysql_connect("localhost","root","");
    mysql_select_db("sito");
    $messaggio="";
    ?>

    <html>

    <head>
            <link rel="stylesheet" type="text/css" href="stile.css">
            <title>Inserisci </title>
    </head>
    
    
        <body>
    
            <table>
                    <tr>
                        <td>
                            <p><font face="magneto" color="black" size="20px"><center><b><i>"LA BOTTEGA DELL'USATO"</i></b></center></p>    
                            
                        </td>         
                    </tr>
            </table>
                
    
    
    
    
        <div id="menu">
                                <ul>
    <?php
    if(isset($_SESSION['utente'])){
    
     echo"<li><font face='georgia' color='red'size='4px'>ciao " . $_SESSION['utente'] . "</li>";
                                        echo"<li><a href='login.php?azione=logout'>logout</a></li>";
                                        echo"<li><a href='cancellato.php'>cancella</a></li>";
                                        
                                        echo"<br>";
                                        echo"<br>";
                                    }else{
                                    
                                    $messaggio= "sessione scaduta";
                                }
    ?>
       </ul>
                            </div>
    

    <?php

    if (!isset($_POST['invia'])){

    ?>

    <form method="POST" action="#">
    <p>Inserisci i tuoi annunci</p>

    Titolo<input type="text" name="title" value=""/><br>
    Testo<textarea name="body" cols="10" rows="10"></textarea>
    
    <input type="submit" name="invia" value="inserisci"/>
    

    </form>

    <?php
    }else{
    $title=$_POST['title'];
    $body=$_POST['body'];

    if($title="" ||$body==""){
    echo "Non hai riempito i campi";

        }else{
    
    $inserimentoannunci=mysql_query("INSERT INTO annunci_cerco (title,body) VALUES ('$title','$body')");
    }
    
    if($inserimentoannunci){
    echo"".$title.""; ;
    echo"<br>";
    echo"".$body."" ;
    
    
    
    }else{
    $messaggio="errore";
    }
    }
    
    mysql_close();
    ?>
        </body>
    

    </html>[/PHP]


  • ModSenior

    $title="" sovrascrive il contenuto di title, manca un = nell'if.

    Devi fare un'altra query per recuperare l'annuncio cosi da mostrarlo di base ogni volta accedi alla pagina.


  • User

    @Thedarkita said:

    $title="" sovrascrive il contenuto di title, manca un = nell'if.

    Devi fare un'altra query per recuperare l'annuncio cosi da mostrarlo di base ogni volta accedi alla pagina.

    Oh vero, grazie tante!!! 🙂

    mi potresti fare un esempio, cosi da capire meglio?...chiedo perchè non sono pratica...


  • ModSenior

    Dipende di preciso come vuoi fare, di norma inserimento e modifica non vengono mischiati in questo modo.


  • User

    Non voglio mischiare l'inserimento e la modifica in una query, ma solo far si che un utente loggato veda il contenuto..

    Dovrei prima usare SELECT e poi richiamare e stampare tutto con il mysql_fetch_array?


  • ModSenior

    Si, devi fare in quel modo.


  • User

    @Thedarkita said:

    Si, devi fare in quel modo.

    grazie mille, ho fatto come hai detto..funziona!!
    Però non capisco perchè mi inserisce gli annunci doppi..non solo nella pagweb, ma anche nel db..il codice delle due pagine...una solo per il form e l'altra contenente le query

    [PHP]<?php

    session_start();

    Include("varDB.inc");

    $conn=mysql_connect("localhost","root","");
    mysql_select_db("sito");
    $messaggio="";
    ?>

    <html>

    <head>
    

    <script type="text/javascript">var NREUMQ=NREUMQ||[];NREUMQ.push(["mark","firstbyte",new Date().getTime()]);</script>
    <link rel="stylesheet" type="text/css" href="stile.css">
    <title>Inserisci </title>
    </head>

        <body>
    
            <table>
                    <tr>
                        <td>
                            <p><font face="magneto" color="black" size="20px"><center><b><i>"LA BOTTEGA DELL'USATO"</i></b></center></p>    
                            
                        </td>         
                    </tr>
            </table>
                
    
    
    
    
        <div id="menu">
                                <ul>
    <?php
    if(isset($_SESSION['utente'])){
    
     echo"<li><font face='georgia' color='red'size='4px'>ciao " . $_SESSION['utente'] . "</li>";
                                        echo"<li><a href='login.php?azione=logout'>logout</a></li>";
                                        echo"<li><a href='cancellato.php'>cancella</a></li>";
                                        
                                        echo"<br>";
                                        echo"<br>";
                                    }else{
                                    
                                    $messaggio= "sessione scaduta";
                                }
    ?>
       </ul>
                            </div>
    

    <?php

    if (isset($_SESSION['utente'])){

    ?>

    <form method="POST" action="entra.php">
    <p>Inserisci i tuoi annunci</p>

    Titolo<input type="text" name="title" value=""/><br>
    Testo<textarea name="body" cols="10" rows="10"></textarea>
    
    <input type="submit" name="invia" value="inserisci"/>
    

    </form>
    <?php

    }else{

    echo"sessione scaduta";

    }
    ?>

        <script type="text/javascript">if(!NREUMQ.f){NREUMQ.f=function(){NREUMQ.push(["load",new Date().getTime()]);var e=document.createElement("script");e.type="text/javascript";e.src=(("http:"===document.location.protocol)?"http:":"https:")+"//"+"d1ros97qkrwjf5.cloudfront.net/42/eum/rum.js";document.body.appendChild(e);if(NREUMQ.a)NREUMQ.a();};NREUMQ.a=window.onload;window.onload=NREUMQ.f;};NREUMQ.push(["nrfj","beacon-1.newrelic.com","1b473294f5","550561","M1QBYUMCDUAEWkRfWgoeNkdYTAVcF0xdGUMGQgZaHxMLQw==",0,61,new Date().getTime(),"","","","",""]);</script>
    

    <script type="text/javascript">if(!NREUMQ.f){NREUMQ.f=function(){NREUMQ.push(["load",new Date().getTime()]);var e=document.createElement("script");e.type="text/javascript";e.src=(("http:"===document.location.protocol)?"http:":"https:")+"//"+"d1ros97qkrwjf5.cloudfront.net/42/eum/rum.js";document.body.appendChild(e);if(NREUMQ.a)NREUMQ.a();};NREUMQ.a=window.onload;window.onload=NREUMQ.f;};NREUMQ.push(["nrfj","beacon-1.newrelic.com","1b473294f5","550561","M1QBYUMCDUAEWkRfWgoeNkdYTAVcF0xdGUMGQgZaHxMLQw==",0,59,new Date().getTime(),"","","","",""]);</script>
    </body>

    </html>[/PHP]

    [PHP]<?php
    session_start();
    include("varDB.inc");
    $conn=mysql_connect("localhost","root","");
    mysql_select_db("sito");

    ?>

    <html>

    <head>
    <!-- striscia in alto -->
    <title>annunci</title>
    <link rel="stylesheet" type="text/css" href="stile.css">
    </head>
    <body>
    <table>
    <tr>
    <td>
    <p><font face="magneto" color="black" size="20px"><center><b><i>"LA BOTTEGA DELL'USATO"</i></b></center></p>

                        </td>         
                    </tr>
                </table>
                
    
    
    
    
        <div id="menu">
                                <ul>
    <?php
    if(isset($_SESSION['utente'])){
    
     echo"<li><font face='georgia' color='red'size='4px'>ciao " . $_SESSION['utente'] . "</li>";
                                        echo"<li><a href='login.php?azione=logout'>logout</a></li>";
                                        echo"<li><a href='cancellato.php'>cancella</a></li>";
                                        
                                        echo"<br>";
                                        echo"<br>";
                                    }else{
                                    
                                    $messaggio= "sessione scaduta";
                                }
    
    
    
    $title=$_POST['title'];
    

    $body=$_POST['body'];

    if($title=="" ||$body==""){
    echo "Non hai riempito i campi";

        }else{
    
    $inserimentoannunci=mysql_query("INSERT INTO annunci_cerco (title,body) VALUES ('$title','$body')");
    }
    
    if($inserimentoannunci){
    echo"".$title.""; 
    echo"<br>";
    echo"".$body."" ;
    
    
    
    }else{
    $messaggio="errore";
    }
    
    
    $risultato = mysql_query("SELECT * FROM annunci_cerco");
    

    while ($riga = mysql_fetch_array($risultato)) {
    echo $riga['title'];
    echo"<br>";
    echo"<br>";
    echo"<br>";
    echo"<br>";
    echo $riga['body'];

    }

    mysql_close();
    ?>
       </ul>
                            </div>
    

    </body>

    </html>

    [/PHP]


  • ModSenior

    Il problema è che tu per inserire mandi alla pagina X, che non inserisce solamente, ma visualizza anche. Basta refleshare quella pagina per avere un altro inserimento identico.


  • User

    no, ho cambiato destinazione e creato due pagine diverse, una per il form che invia i dati ad un'altra pagina..se non errro, perchè mettendo in commento questa parte di codice non si pone piùil problema...ma vorrei sapere se è giusto fare così...

    [PHP]<?php
    session_start();
    include("varDB.inc");
    $conn=mysql_connect("localhost","root","");
    mysql_select_db("sito");

    ?>

    <html>

    <head>
    <!-- striscia in alto -->
    <title>annunci</title>
    <link rel="stylesheet" type="text/css" href="stile.css">
    </head>
    <body>
    <table>
    <tr>
    <td>
    <p><font face="magneto" color="black" size="20px"><center><b><i>"LA BOTTEGA DELL'USATO"</i></b></center></p>

                        </td>         
                    </tr>
                </table>
                
    
    
    
    
        <div id="menu">
                                <ul>
    <?php
    if(isset($_SESSION['utente'])){
    
     echo"<li><font face='georgia' color='red'size='4px'>ciao " . $_SESSION['utente'] . "</li>";
                                        echo"<li><a href='login.php?azione=logout'>logout</a></li>";
                                        echo"<li><a href='cancellato.php'>cancella</a></li>";
                                        
                                        echo"<br>";
                                        echo"<br>";
                                    }else{
                                    
                                    $messaggio= "sessione scaduta";
                                }
    
    
    
    $title=$_POST['title'];
    

    $body=$_POST['body'];

    if($title=="" ||$body==""){
    echo "Non hai riempito i campi";

        }else{
    
    $inserimentoannunci=mysql_query("INSERT INTO annunci_cerco (title,body) VALUES ('$title','$body')");
    }
    
    if($inserimentoannunci){
    
    $risultato = mysql_query("SELECT * FROM annunci_cerco");
    

    while ($riga = mysql_fetch_array($risultato)) {
    echo $riga['title'];
    echo"<br>";
    echo"<br>";
    echo"<br>";
    echo"<br>";
    echo $riga['body'];

    }
    //echo"".$title."";
    //echo"<br>";
    //echo"".$body."" ;

    }else{
    $messaggio="errore";
    }
    
    
    
    
    mysql_close();
    ?>
       </ul>
                            </div>
    

    </body>

    </html>

    [/PHP]

    Dove si vede la parte messa in commento...è giusto così o non si può fare?


  • ModSenior

    Cioè vorresti togliere i commenti?


  • User

    DOvrei togliere la parte in commento, perchè altrimenti mi stampa due volte quello che scrivo...però non so se posso mettere dentro un if while...


  • ModSenior

    Allora non inseriva 2 volte, semplicemente stampava 2 volte. È normale che se tu inserisci nella tabella, e dopo dici stampami la tabella, hai già stampato 1 volta ciò che hai appena inserito. Per cui non c'è motivo che fai altri echo.


  • User

    Però inseriva lo stesso due volte nel db, lo stesso messaggio...allora posso togliere quello che ho già messo in commento?


  • ModSenior

    Si lo puoi togliere tranquillamente, visto che non ti serve a nulla.


  • User

    ok, ti ringrazio!


  • User

    però inserisce sempre doppio messaggio nel db..e vedo il titolo attaccato al messaggio anche se metto il br...come posso risolvere?


  • User

    anzi ogni volta che ricarico la pagina mi trovo altri messaggi identici, e lo stesso capita nel db!!


  • ModSenior

    Questo è normale, visto che hai unito visualizzazione e inserimento nella stessa pagina, come ti avevo già detto prima dovrebbero essere 2 cose separate.