• ModSenior

    Il br devi metterlo dopo echo $riga['body']; altrimenti non ottieni ciò che vuoi.
    È fondamentale che studi un pò di html, perchè lavorando con php si da per scontato di sapere perfettamente come funziona html, altrimenti lavorare con moduli o anche un semplice andare a capo ti fà perdere moltissimo tempo, in quanto vai per tentativi.


  • User

    hai ragione..ti chiedo anche se posso mettere le stringhe in questo modo o c'è un modo per accumunarne?

    [PHP]echo $riga['title']; echo"<br> "; echo $riga['body'];
    [/PHP]


  • ModSenior

    Puoi fare cosi:
    [php]
    echo $riga['title']."<br>".$riga['body'];
    [/php]


  • User

    @Thedarkita said:

    Puoi fare cosi:
    [php]
    echo $riga['title']."<br>".$riga['body'];
    [/php]

    Grazie del tuo prezioso aiuto!!Adesso però vorrei che l'utente visualizzasse l'ultimo annuncio inseritoe poi potesse tornare agli altri..come posso fare?


  • User

    Volevo chiedere come faccio ad inserire il nome dell'autore dei messaggi nella tabella annunci?
    perchè quando inserisco gli annunci, non inserisce il username dell'autore nel db, e ogni volta che inserisco l'annuncio lo visualizzo con il nome dell'utente che ha eseguito la sessione...

    allego il codice...non so se son stata molto chiara...
    [PHP]<?php
    //inizio la sessione utente
    session_start();
    //includo i parametri del db
    Include("varDB.inc");
    //creo una connessione al db e lo seleziono
    $conn=mysql_connect("localhost","root","") or die;
    mysql_select_db("sito") or die;
    //inizializzo la variabile messaggio
    $messaggio="";
    ?>

    <html> <!-- striscia in alto-->

    <head>
            <!-- css esterno -->
            <link rel="stylesheet" type="text/css" href="stile.css">
            <title>Inserisci </title>
    </head>
    
    
        <body>
        <!-- strisci in alto -->
            <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
    //controllo che ci sia una sessione utente, altrimenti "sessione scaduta"
    
    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= "<font color='black' face='times new roman' size='4px'>sessione scaduta";
                                }
    ?>
       </ul>
                            </div>
    

    <?php
    //controllo che ci sia una sessione utente, altrimenti "sessione scaduta", mostro il form di inserimento dati
    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{

    $messaggio="<font color='black' face='times new roman' size='4px'>sessione scaduta";

    }
    //chiudo la connessione al db
    mysql_close();
    ?>

        </body>
    

    </html>[/PHP]

    [PHP]<?php
    //inizio la sessione utente
    session_start();
    include("varDB.inc");
    //creo una connessione al db e lo seleziono
    $conn=mysql_connect("localhost","root","") or die;
    mysql_select_db("sito") or die;
    //inizializzo la variabile messaggio
    $messaggio="";

    ?>

    <html>

    <head>
    <!-- striscia in alto -->
    <title>annunci</title>
    <!--css esterno-->
    <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
    //controllo che ci sia una sessione utente, altrimenti "sessione scaduta"
    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="<font color='black' face='times new roman' size='4px'>sessione scaduta";
                                }
    

    //richiamo i dati inseriti nel form tramite la variabile superglobale $_POST
    $username=$_SESSION['utente'];
    $title=$_POST['title'];
    $body=$_POST['body'];
    //eseguo i controlli relativi alla compilazione dati
    if($title=="" ||$body==""){
    echo "<font color='black' face='times new roman' size='4px'>Non hai riempito i campi";

        }else{
    //se è tutto ok, inserisco i dati nel db
    $inserimentoannunci=mysql_query("INSERT INTO annunci_cerco (username,title,body) VALUES ('$username','$title','$body')");
    }
    //se i dati sono inseriti mostro gli annunci inseriti
    if($inserimentoannunci){
    
    echo"inserimento riuscito";
    //header location visualizza.php //?id:articolo=ultimo
    header("refresh:2; URL=annunci.php");
    
    //se ci sono problemi stampo messaggio di errore
    }else{
    $messaggio="<font color='black' face='times new roman' size='4px'>errore";
    }
    
    
    
    //inteerrrompo la connessione con il db
    mysql_close();
    ?>
       </ul>
                            </div>
    

    </body>

    </html>

    [/PHP]

    [PHP]<?php
    //inizio la sessione utente
    session_start();
    //includo i parametri del db
    include("varDB.inc");
    //creo una connessione al db e lo seleziono
    $conn=mysql_connect("localhost","root","");
    mysql_select_db("sito");
    //inizializzo la variabile messaggio
    $messaggio="";

    ?>

    <html> <!-- striscia in alto-->

    <head>
        <!-- css esterno -->
            <link rel="stylesheet" type="text/css" href="stile.css">
            <title>Inserisci </title>
    </head>
    
    
        <body>
        <!-- striscia in alto -->
            <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
    //controllo che ci sia una sessione utente, altrimenti "sessione scaduta"
    
    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= "<font color='black' face='times new roman' size='4px'>sessione scaduta";
                                }
    ?>
       </ul>
                            </div>
    

    <?php

    //seleziono gli annunci inseriti del db e li mostro
    $risultato = mysql_query("SELECT * FROM annunci_cerco");
    //mostro tutti gli annunci inseriti 
    

    while ($riga = mysql_fetch_array($risultato)) {
    echo" <font color='black' face='times new roman' size='4px'>";
    echo"<br> ";
    echo "<br>";
    echo "<br>";
    echo"<br>";
    echo"<font color='black' face='times new roman' size='4px'>";
    ?>
    <table id="table1">

    <tr>
    <td id="testo1"><?php echo"autore: "; ?></td>
    <td id="testo1"><?php echo"" . $_SESSION['utente'] . "";?></td>
    <td id="testo1"><?php echo"cancella";?></td>
    <td id="testo1"><?php echo"modifica";?></td>

    </tr>

    <tr>
        <td id="testo1"><?php echo "titolo:" ?></td>
        <td id="testo"><?php  echo $riga['title']; ?></td>
    </tr> 
    
    <tr>
        <td id="testo1"> <?php echo "body"; ?></td>
        <td id="testo"> <?php echo $riga['body']; ?></td>
        
        
    </tr>
    

    </table>

    <?php }
    

    //chiudo la connessione al db
    mysql_close();
    ?>
    </body>

    </html>
    [/PHP]


  • ModSenior

    Devi usare $riga['username'] visto che lo hai inserito nella tabella del database.


  • User

    @Thedarkita said:

    Devi usare $riga['username'] visto che lo hai inserito nella tabella del database.

    grazie funziona perfettamente!! 😄


  • User

    Grazie!!!

    Volevo chiedere un'altra cosa..perchè ho un problema...

    Quando cerco di cancellare i messaggi inseriti, ho fatto in modo che se non è quell'utente che l'ha inserito legga il messaggio "non sei l'autore del messaggio", fin li funziona, ma quando l'utente che inserisce il messggio cerca di cancellarlo leggo "non sei l'autore del messaggio" però cancella effettivamente il messsaggio dal db, ma perchè non vedo il messaggio "dati cancellati"?

    ho fatto un po di confusione...

    [PHP]<?php
    //inizio la sessione utente
    session_start();
    //includo i parametri del db
    include("varDB.inc");
    //apro la connessione al db e lo seleziono
    $conn=mysql_connect("localhost","root","") or die;
    mysql_select_db("sito");

    //inizializzo la variabile messaggio
    $messaggio="";

    ?>

    <html> <!-- striscia in alto-->

    <head>
        <!-- css esterno -->
            <link rel="stylesheet" type="text/css" href="stile.css">
            <title>cancella annunci </title>
    </head>
    
    
        <body>
        <!-- striscia in alto -->
            <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
    //controllo che ci sia una sessione utente, altrimenti "sessione scaduta"

    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= "<font color='black' face='times new roman' size='4px'>sessione scaduta";
                                }
                                
    ?>
       </ul>
                            </div>
    

    <?php

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

    ?>

    <form method="POST" action="cancellato1.php">
    <p><font face="Times new roman" color="black" size="4px">vuoi cancellare il messaggio?</p>

    Si<input type="radio" name="canc" value="si"/>
    No<input type="radio" name="canc" value="no"/>
    <br>
    <br>
    <input type="submit" value="invia" name="invia"/>

    </form>

    <?php
    }else{

    $messaggio="sessione scaduta";
    }

    mysql_close();
    ?>
    </body>
    </html>[/PHP]

    questa è la pag che mi da problemi..
    [PHP]<?php
    //inizio la sessione utente
    session_start();
    //includo i parametri del db
    include("varDB.inc");
    //apro la connessione al db e lo seleziono
    $conn=mysql_connect("localhost","root","") or die;
    mysql_select_db("sito");

    //inizializzo la variabile messaggio
    $messaggio="";

    ?>

    <html> <!-- striscia in alto-->

    <head>
        <!-- css esterno -->
            <link rel="stylesheet" type="text/css" href="stile.css">
            <title>cancella annunci </title>
    </head>
    
    
        <body>
        <!-- striscia in alto -->
            <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
    //controllo che ci sia una sessione utente, altrimenti "sessione scaduta"

    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= "<font color='black' face='times new roman' size='4px'>sessione scaduta";
                                }
                                
    ?>
       </ul>
                            </div>
    

    <?php

    // recupero i dati della sessione utente in corso
    $autore=$_SESSION['utente'];
    $c="cancella";
    //l'azione cancella prevede l'opzione si/no
    $c = isset($_GET['cancella']) ? $_GET['cancella'] : "";

    if ($autore=$_SESSION['utente']){

                if ($_POST["canc"]=="si") { // se sceglie si
                //eseguo la query per la cancellazione dell'account
                $query="DELETE FROM annunci_cerco WHERE autore='$autore'";
        $res=mysql_query($query) or die("fallita"); // in caso di problemi con la query
        
        
        $messaggio="dati cancellati";
                
                
                }else{
                
                $messaggio="non sei l'autore del messaggio";
    

    }
    //altrimenti se sceglgo no i dati non vengono cancellati
    if($_POST["canc"]=="no"){
    echo"i dati non sono stati cancellati";

    }else{
    echo"non sei l'autore del messaggio";
    }
    

    }
    //chiudo la connessione con il db
    mysql_close();

    ?>

    </body>

    </html> [/PHP]


  • ModSenior

    Nell'if hai messo un assegnazione, non un confronto (hai dimenticato un uguale).
    In ogni caso se sopra fai:
    $autore=$_SESSION['utente'];
    E sotto metti:
    if($autore==$_SESSION['utente'])
    Mi sembra scontato che la condizione vada sempre in true. Devi recuperare il messaggio dal database per sapere chi l'ha scritto.


  • User

    @Thedarkita said:

    Mi sembra scontato che la condizione vada sempre in true. Devi recuperare il messaggio dal database per sapere chi l'ha scritto.

    mi dici cosa intendi di preciso?

    perchè adesso ho provato a mettere due == come mi hai detto, solo che quando cerco di cancellare il messaggio scritto non da quell'utente, vedo la scritta che mi dice che non sono l'autore, ma cancella l'annuncio dell'utente loggato...come fare?


  • User

    come faccio a non far eliminare e aggiornare tutti i messaggi che scrive l'utente?perchè io vorrei che potesse agire solo su quello interessato...il codice:

    [PHP]<?php
    //inizio la sessione utente
    session_start();
    //includo i parametri del db
    include("varDB.inc");
    //apro la connessione al db e lo seleziono
    $conn=mysql_connect("localhost","root","") or die;
    mysql_select_db("sito");

    //inizializzo la variabile messaggio
    $messaggio="";

    ?>

    <html> <!-- striscia in alto-->

    <head>
        <!-- css esterno -->
            <link rel="stylesheet" type="text/css" href="stile.css">
            <title>modifica/cancella annunci </title>
    </head>
    
    
        <body>
        <!-- striscia in alto -->
            <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
    //controllo che ci sia una sessione utente, altrimenti "sessione scaduta"

    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 account</a></li>";
                                        
                                        echo"<br>";
                                        echo"<br>";
                                    }else{
                                    
                                    $messaggio= "<font color='black' face='times new roman' size='4px'>sessione scaduta";
                                }
                                
    ?>
       </ul>
                            </div>
    

    <?php

    //seleziono gli annunci inseriti del db e li mostro
    $risultato = mysql_query("SELECT * FROM annunci_cerco WHERE autore='".$_SESSION['utente']."'");
    //mostro tutti gli annunci inseriti 
    

    while ($riga = mysql_fetch_array($risultato)) {

    echo "<br>";
    echo"<br>";

    ?>

    <table id="table1">

    <tr>
    <td><?php echo"autore"; ?></td>
    <td><?php echo "titolo" ?></td>
    <td> <?php echo "testo"; ?></td>

    </tr>

    <tr>
        
        <td id="testo"><?php echo $riga['autore'];?></td>
        <td id="testo"><?php  echo $riga['title']; ?></td>
        <td id="testo"> <?php echo $riga['body']; ?></td>
        
    </tr> 
    
    <tr>
    
        <td id="testo"><?php echo"<a href='inserisci1.php'>modifica</a>";?></td>
        <td id="testo"><?php echo"<a href='cancella1.php'>cancella</a>"?></td>
    </tr>    
    

    </table>

    <?php }
    

    //chiudo la connessione al db
    mysql_close();
    ?>
    </body>

    </html>
    [/PHP]

    [PHP]<?php
    //inizio la sessione utente
    session_start();
    //includo i parametri del db
    include("varDB.inc");
    //apro la connessione al db e lo seleziono
    $conn=mysql_connect("localhost","root","") or die;
    mysql_select_db("sito");

    //inizializzo la variabile messaggio
    $messaggio="";

    ?>

    <html> <!-- striscia in alto-->

    <head>
        <!-- css esterno -->
            <link rel="stylesheet" type="text/css" href="stile.css">
            <title>cancella annunci </title>
    </head>
    
    
        <body>
        <!-- striscia in alto -->
            <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
    //controllo che ci sia una sessione utente, altrimenti "sessione scaduta"

    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 account</a></li>";
                                                                                
                                        echo"<br>";
                                        echo"<br>";
                                    }else{
                                    
                                    $messaggio= "<font color='black' face='times new roman' size='4px'>sessione scaduta";
                                }
                                
    ?>
       </ul>
                            </div>
    

    <?php

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

    ?>

    <form method="POST" action="cancellato1.php">
    <p><font face="Times new roman" color="black" size="4px">vuoi cancellare il messaggio?</p>

    Si<input type="radio" name="canc" value="si"/>
    No<input type="radio" name="canc" value="no"/>
    <br>
    <br>
    <input type="submit" value="invia" name="invia"/>

    </form>

    <?php
    }else{

    $messaggio="sessione scaduta";
    }

    mysql_close();
    ?>
    </body>
    </html>[/PHP]

    [PHP]<?php
    //inizio la sessione utente
    session_start();
    //includo i parametri del db
    include("varDB.inc");
    //apro la connessione al db e lo seleziono
    $conn=mysql_connect("localhost","root","") or die;
    mysql_select_db("sito");

    //inizializzo la variabile messaggio
    $messaggio="";

    ?>

    <html> <!-- striscia in alto-->

    <head>
        <!-- css esterno -->
            <link rel="stylesheet" type="text/css" href="stile.css">
            <title>cancella annunci </title>
    </head>
    
    
        <body>
        <!-- striscia in alto -->
            <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
    //controllo che ci sia una sessione utente, altrimenti "sessione scaduta"

    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 account</a></li>";
                                        
                                        echo"<br>";
                                        echo"<br>";
                                    }else{
                                    
                                    $messaggio= "<font color='black' face='times new roman' size='4px'>sessione scaduta";
                                }
                                
    ?>
       </ul>
                            </div>
    

    <?php

    // recupero i dati della sessione utente in corso
    $autore=$_SESSION['utente'];

    $c="cancella";
    //l'azione cancella prevede l'opzione si/no
    $c = isset($_GET['cancella']) ? $_GET['cancella'] : "";

                if ($_POST["canc"]=="si") { // se sceglie si
                //eseguo la query per la cancellazione dell'account
                $cancellannunci="DELETE FROM annunci_cerco WHERE autore='$autore'";
        $res=mysql_query($cancellannunci) or die("fallita"); // in caso di problemi con la query
        
                echo"<font color='black' face='times new roman' size='4px'>dati cancellati";
                header("refresh:2,URL=annunci.php");
    

    }
    //altrimenti se sceglgo no i dati non vengono cancellati
    if($_POST["canc"]=="no"){
    echo"<font color='black' face='times new roman' size='4px'>i dati non sono stati cancellati";
    header("refresh:2,URL=annunci.php");

      }
    

    //chiudo la connessione con il db
    mysql_close();

    ?>

    </body>

    </html>
    [/PHP]


  • User

    Adesso il problema ce l'ho solo nella pagina di aggiornamento dei messaggi...

    Ho creato una pagina dove l'utente trova i link per cancellare e modificare, che rimandeerà ad una form per scrivere il messaggio modificato e una che dovrebbe modificare e inserire nel db la modifica, ma leggo solo la modifica di fallimento...mi aiutate???

    [PHP]
    <?php
    //inizio la sessione utente
    session_start();
    //includo i parametri del db
    include("varDB.inc");
    //apro la connessione al db e lo seleziono
    $conn=mysql_connect($host,$user,$password) or die;
    mysql_select_db($db);

    //inizializzo la variabile messaggio
    $messaggio="";

    ?>

    <html> <!-- striscia in alto-->

    <head>
        <!-- css esterno -->
            <link rel="stylesheet" type="text/css" href="stile.css">
            <title>modifica/cancella annunci </title>
    </head>
    
    
        <body>
        <!-- striscia in alto -->
            <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
    //controllo che ci sia una sessione utente, altrimenti "sessione scaduta"

    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 account</a></li>";
                                        
                                        echo"<br>";
                                        echo"<br>";
                                    }else{
                                    
                                    $messaggio= "<font color='black' face='times new roman' size='4px'>sessione scaduta";
                                }
                                
    ?>
       </ul>
                            </div>
    

    <?php

    //seleziono gli annunci inseriti del db e li mostro
    $risultato = mysql_query("SELECT * FROM annunci_cerco WHERE autore='".$_SESSION['utente']."'");
    //mostro tutti gli annunci inseriti 
    

    while ($riga = mysql_fetch_array($risultato)) {

    echo "<br>";
    echo"<br>";

    ?>

    <table id="table1">

    <tr>
    <td><?php echo"autore"; ?></td>
    <td><?php echo "titolo" ?></td>
    <td> <?php echo "testo"; ?></td>

    </tr>

    <tr>
        
        <td id="testo"><?php echo $riga['autore'];?></td>
        <td id="testo"><?php  echo $riga['title']; ?></td>
        <td id="testo"> <?php echo $riga['body']; ?></td>
        
    </tr> 
    

    <tr>
    <?php $id= $riga['id']?>
    <td id="testo"><?php echo"<a href='modifica_annunci_1.php?annuncio=".$riga['id']."'>modifica</a>"?></td>
    <td id="testo"><?php echo"<a href='cancellato1.php?annuncio=".$riga['id']."'>cancella</a>"?></td>
    </tr>
    </table>

    <?php }
    

    //chiudo la connessione al db
    mysql_close();
    ?>
    </body>

    </html> [/PHP]
    [PHP]

    <?php
    //inizio la sessione utente
    session_start();
    //includo i parametri del db
    include("varDB.inc");
    //apro la connessione al db e lo seleziono
    $conn=mysql_connect($host,$user,$password) or die;
    mysql_select_db($db);

    //inizializzo la variabile messaggio
    $messaggio="";

    ?>

    <html> <!-- striscia in alto-->

    <head>
        <!-- css esterno -->
            <link rel="stylesheet" type="text/css" href="stile.css">
            <title>modifica annunci </title>
    </head>
    
    
        <body>
        <!-- striscia in alto -->
            <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
    //controllo che ci sia una sessione utente, altrimenti "sessione scaduta"

    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= "<font color='black' face='times new roman' size='4px'>sessione scaduta";
                                }
                                
    ?>
       </ul>
                            </div>
    

    <?php

    $_GET['annuncio'];
    $id_ann=$_GET['annuncio'];

    mysql_query("SELECT * FROM annunci_cerco WHERE id=".$_GET['annuncio']);

    ?>
    <form method="POST" action="modifica_annunci_2.php">
    <p>modifica 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
    mysql_close();

    ?>

    </body>
    </html>

    [/PHP]
    [PHP]<?php
    //inizio la sessione utente
    session_start();
    //includo i parametri del db
    include("varDB.inc");
    //apro la connessione al db e lo seleziono
    $conn=mysql_connect($host,$user,$password) or die;
    mysql_select_db($db);

    //inizializzo la variabile messaggio
    $messaggio="";

    ?>

    <html> <!-- striscia in alto-->

    <head>
        <!-- css esterno -->
            <link rel="stylesheet" type="text/css" href="stile.css">
            <title>modifica annunci </title>
    </head>
    
    
        <body>
        <!-- striscia in alto -->
            <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
    //controllo che ci sia una sessione utente, altrimenti "sessione scaduta"

    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= "<font color='black' face='times new roman' size='4px'>sessione scaduta";
                                }
                                
    ?>
       </ul>
                            </div>
    

    <?php
    $_GET['annuncio'];
    $id_ann=$_GET['annuncio'];
    $title=$_POST['title'];

    $body=$_POST['body'];

    $modificannunci="UPDATE annunci_cerco SET title='$title',body='$body' WHERE id=$id_ann";
    $res=mysql_query($modificannunci) or die("fallita");

    mysql_close();    
    

    ?>

    </body>
    </html>
    [/PHP]


  • ModSenior

    Invece di:
    [php]
    mysql_query($modificannunci) or die("fallita");
    [/php]
    Metti:
    [php]
    mysql_query($modificannunci) or die("fallita".mysql_error());
    [/php]
    Cosi da visualizzare l'errore.


  • User

    Notice: Undefined index: annuncio in C:\xampp\htdocs\prova\modifica_annunci_2.php on line 60

    Notice: Undefined index: annuncio in C:\xampp\htdocs\prova\modifica_annunci_2.php on line 61
    fallitaYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

    Mi dice questo


  • ModSenior

    Non arrivano quelle variabili POST che tu utilizzi, ci sarà un altro nome impostato nel form.


  • User

    @Thedarkita said:

    Non arrivano quelle variabili POST che tu utilizzi, ci sarà un altro nome impostato nel form.

    Non riesco a modificare i dati...anche con le modifiche...ecco il codice modificato...

    [PHP]<?php
    //inizio la sessione utente
    session_start();
    //includo i parametri del db
    include("varDB.inc");
    //apro la connessione al db e lo seleziono
    $conn=mysql_connect($host,$user,$password) or die;
    mysql_select_db($db);

    //inizializzo la variabile messaggio
    $messaggio="";

    ?>

    <html> <!-- striscia in alto-->

    <head>
        <!-- css esterno -->
            <link rel="stylesheet" type="text/css" href="stile.css">
            <title>modifica annunci </title>
    </head>
    
    
        <body>
        <!-- striscia in alto -->
            <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
    //controllo che ci sia una sessione utente, altrimenti "sessione scaduta"

    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= "<font color='black' face='times new roman' size='4px'>sessione scaduta";
                                }
                                
    ?>
       </ul>
                            </div>
    

    <?php

    $id_ann=$_GET['annuncio'];
    $ris=mysql_query("SELECT * FROM annunci_cerco WHERE id=".$_GET['annuncio']);

    ?>
    <form method="POST" action="modifica_annunci_2.php"><?php echo $id_ann ?>
    <p>modifica 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
    mysql_close();

    ?>

    </body>
    </html>
    [/PHP]

    [PHP]<?php
    //inizio la sessione utente
    session_start();
    //includo i parametri del db
    include("varDB.inc");
    //apro la connessione al db e lo seleziono
    $conn=mysql_connect($host,$user,$password) or die;
    mysql_select_db($db);

    //inizializzo la variabile messaggio
    $messaggio="";

    ?>

    <html> <!-- striscia in alto-->

    <head>
        <!-- css esterno -->
            <link rel="stylesheet" type="text/css" href="stile.css">
            <title>modifica annunci </title>
    </head>
    
    
        <body>
        <!-- striscia in alto -->
            <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
    //controllo che ci sia una sessione utente, altrimenti "sessione scaduta"

    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= "<font color='black' face='times new roman' size='4px'>sessione scaduta";
                                }
                                
    ?>
       </ul>
                            </div>
    

    <?php

    $id_ann=$_GET['id'];
    $title=$_POST['title'];

    $body=$_POST['body'];

    if($title=="" ||$body==""){
    echo "<font color='black' face='times new roman' size='4px'>Non hai riempito i campi";

                $q="UPDATE annunci_cerco SET title='$title', body='$body' WHERE id=$id_ann";
    

    mysql_query($q);

    echo"modifica ok";
    }else{

        echo"impossibile modificare";}
    
    
    mysql_close();    
    

    ?>

    </body>
    </html>
    [/PHP]


  • ModSenior

    Ma che senso ha fare un controllo che i campi siano vuoti e fare l'update in quel caso? Non dovresti fare il contrario?


  • User

    Hai ragione, ma ero solo per leggere se la modifica era andata a buon fine...al posto di quello ho inserito...

    [PHP]$m=mysql_query("UPDATE annunci_cerco SET title='$title',body='$body' WHERE id=$id_ann");
    if($m){

    echo"modifica ok";
    }else{

        echo"impossibile modificare";}
    

    [/PHP]

    Però le modifiche non vanno a buon fine..perchè leggo impossibile modificare...come è possibile?


  • ModSenior

    La query genera un qualche errore, aggiungi mysql_error() per mostrarlo.


  • User

    @Thedarkita said:

    La query genera un qualche errore, aggiungi mysql_error() per mostrarlo.

    Mi da questo messaggio fallitaQuery was empty