Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    gestione notizie dal sito

    qualcuno mi può aiutare a capire dov'è l'errore?

    ho questi 2 file

    selezionenotiziecancella.php

    <?
    include ("connect.inc.php");
    echo "<h2>Cancella News</h2>

    ";
    $connect = mysql_connect($host, $user, $passwd) or die ("Non connesso");
    mysql_select_db($dbname);
    $query = "SELECT * FROM $tablename ORDER BY id DESC";

    $esegui = mysql_query($query, $connect);
    echo"

    <TABLE border=1>
    <TR>
    <TD>
    [b]Titolo<b/>
    </TD>
    <TD>
    Anno
    </TD>
    <TD>
    Mese
    </TD>
    <TD>
    Giorno
    </TD>
    <TD>
    Ora
    </TD>
    <TD>
    Minuto
    </TD>
    <TD>
    ID
    </TD>
    <TD>
    Cancella
    </TD></TR>";
    while ($result = mysql_fetch_array($esegui)) {

    echo "<TR>
    <TD>
    $result[titolo]
    </TD>
    <TD>
    $result[anno]
    </TD>
    <TD>
    $result[mese]
    </TD>
    <TD>
    $result[giorno]
    </TD>
    <TD>
    $result[ora]
    </TD>
    <TD>
    $result[minuto]
    </TD>
    <TD>
    $result[id]
    </TD>
    <TD>
    <FORM action=\"cancella_news.php\">
    <INPUT TYPE=\"RADIO\" name=\"cancella_id\" value=\"$result[id]\">
    </TD></TR>";
    }
    echo "</table>

    <INPUT TYPE=\"SUBMIT\" VALUE=\"Cancella News!\"></FORM>";

    ?>

    cancella.php

    <?
    include ("connect.db.php");

    $connect = mysql_connect($host, $user, $passwd) or die ("Non connesso");
    mysql_select_db($dbname);
    $query = "DELETE FROM $tablename WHERE id = '$cancella_id'";

    $esegui = mysql_query($query, $connect);

    if(@mysql_query($query, $connect)){
    echo ("Hai cancellato la news numero $cancella_id correttamente.

    ");
    echo ("<A href=\"gestionenotizie.php\">Torna alla gestione delle news</A>");
    } else {
    echo ("Non hai cancellato la news.".mysql_error());
    }

    ?>

    il risultato dopo aver selezionato la notizia da cancellare è sempre positivo, ma nella realtà non cancella nulla...
    qualcuno sa dirmi dove sbaglio? grazie

  2. #2
    Codice PHP:
    <?
    include ("connect.inc.php");
    echo 
    "<h2>Cancella News</h2>

    "
    ;
    $connect mysql_connect($host$user$passwd) or die ("Non connesso");
    mysql_select_db($dbname);
    $query "SELECT * FROM $tablename ORDER BY id DESC";

    $esegui mysql_query($query$connect);
    echo
    "

    <TABLE border=1>
    <TR>
    <TD>
    [b]Titolo<b/>
    </TD>
    <TD>
    [b]Anno[/b]
    </TD>
    <TD>
    [b]Mese[/b]
    </TD>
    <TD>
    [b]Giorno[/b]
    </TD>
    <TD>
    [b]Ora[/b]
    </TD>
    <TD>
    [b]Minuto[/b]
    </TD>
    <TD>
    [b]ID[/b]
    </TD>
    <TD>
    [b]Cancella[/b]
    </TD></TR>"
    ;
    while (
    $result mysql_fetch_array($esegui)) {

    echo 
    "<TR>
    <TD>
    $result[titolo]
    </TD>
    <TD>
    $result[anno]
    </TD>
    <TD>
    $result[mese]
    </TD>
    <TD>
    $result[giorno]
    </TD>
    <TD>
    $result[ora]
    </TD>
    <TD>
    $result[minuto]
    </TD>
    <TD>
    $result[id]
    </TD>
    <TD>
    <FORM action=\"cancella_news.php\">
    <INPUT TYPE=\"RADIO\" name=\"cancella_id\" value=\"
    $result[id]\">
    </TD></TR>"
    ;
    }
    echo 
    "</table>

    <INPUT TYPE=\"SUBMIT\" VALUE=\"Cancella News!\"></FORM>"
    ;

    ?>

    cancella.php

    <?
    include ("connect.db.php");

    $connect mysql_connect($host$user$passwd) or die ("Non connesso");
    mysql_select_db($dbname);
    $query "DELETE FROM $tablename WHERE id = '$cancella_id'";
    echo 
    $query          //stampa la query a video
    $esegui mysql_query($query$connect);

    if(@
    mysql_query($query$connect)){
    echo (
    "Hai cancellato la news numero $cancella_id correttamente.

    "
    );
    echo (
    "<A href=\"gestionenotizie.php\">Torna alla gestione delle news</A>");
    } else {
    echo (
    "Non hai cancellato la news.".mysql_error());
    }
    controlla che cosa stampa la query, probabilmente l'errore sta li...
    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

  3. #3
    Hai cancellato la news numero correttamente.
    Torna alla gestione delle news

    questo è quello che mi dice se seleziono una notizia da cancellare, non mi riporta il numero della notizia e in realtà non la cancella dal data base, anche se la risposta è hai cancellato la news...

    è strano non capisco perchè

  4. #4
    se ti scrive così vuol dire che non gli arriva la variabile $cancella_id perchè viene usata nella stringa che butti a video
    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

  5. #5
    come faccio a fargliela riconoscere?

  6. #6
    Codice PHP:
    <?
    include ("connect.db.php");

    $connect mysql_connect($host$user$passwd) or die ("Non connesso");
    mysql_select_db($dbname);
    $query "DELETE FROM $tablename WHERE id = '".$_GET['cancella_id']."'";
    $esegui mysql_query($query$connect);

    if(@
    mysql_query($query$connect)){
    echo (
    "Hai cancellato la news numero ".$_GET['cancella_id']." correttamente.

    "
    );
    echo (
    "<A href=\"gestionenotizie.php\">Torna alla gestione delle news</A>");
    } else {
    echo (
    "Non hai cancellato la news.".mysql_error());
    }
    la variabile ti arriva via GET e probabilmente hai il register_globals a off (di default è così), vedi se funziona in questo modo
    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

  7. #7
    si grazie così funziona benissimo

  8. #8
    de nada
    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

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