Visualizzazione risultati 1 fino 5 di 5

Discussione: Errore elimino News

  1. #1
    ysoolder non è connesso Utente giovane
    Data registrazione
    06-04-2013
    Messaggi
    97

    Unhappy Errore elimino News

    Salve a tutti. Essendo alla creazione di un social network, ho creato uno script in cui poter scrivere una News nella pagina iniziale. Le news vengono estratte cosi:

    Codice PHP:
    ?>
    <form method="post">
    <?php
    echo '<a href="user.php?id='.$id_amico.'"><font color="blue" size="3" face="verdana">'. $username .'</font></a><br>';
    echo
    '<font color="black" size="2" face="verdana">'. $data . '</font> ';
    echo
    "<font color='black' size='4' face='verdana'><p> ". $post ."<p><br></font> <input type='submit' value='Elimina' name='<?php echo $post; ?>_si'/>";
    ?>
    </form>
    <?php

    $yes
    = mysql_real_escape_String($post."_si");

    if(isset(
    $_POST[$yes])){

    mysql_query("DELETE FROM news WHERE news='$post'");

    header('location: home.php');
    }
    Quando qualcuno scrive una News, sotto compare il tasto elimina che ho chiamato "<?php echo $post; ?>_si". Quando si preme il tasto elimina, la stringa
    Codice PHP:
    $yes = mysql_real_escape_String($post."_si");
    seleziona la news che voglio eliminare e la stringa
    Codice PHP:
    if(isset($_POST[$yes])){

    mysql_query("DELETE FROM news WHERE news='$post'");

    header('location: home.php');
    la elimina. Ora c'è un problema: Ogni volta che pubblico una news, clicco sul tasto elimina e mi elimina SOLAMENTE la prima che ho scritto o, in altri casi, non elimina niente. In cosa sbaglio?

  2. #2
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    mysql_real_escape_string() è una funzione case-sensitive.
    Potrebbe essere quello il problema: prova a scrivere la "S" minuscola.
    Inoltre lo script PHP viene eseguito dopo la lettura delle news: conviene anticiparlo.
    Ciao!

    P.S.: non ti conviene utilizzare gli ID?

  3. #3
    ysoolder non è connesso Utente giovane
    Data registrazione
    06-04-2013
    Messaggi
    97

    Predefinito

    Ho provato scrivendo mysql_real_escape_string(); con la "S" minuscola e non è successo nulla. Poi, le parole come "dsgasgasfdga" le elimina, ma se scrivo "ciao" non lo elimina. Cioe, le parole che non hanno senso si, le parole con un significato no. Cosa puo essere? Ora provo ad utilizzare gli ID e ti faccio sapere.

  4. #4
    ysoolder non è connesso Utente giovane
    Data registrazione
    06-04-2013
    Messaggi
    97

    Predefinito

    Niente da fare. Nemmeno con gli ID riesco a risolvere :S

  5. #5
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Citazione Originalmente inviato da ysoolder Visualizza messaggio
    le parole come "dsgasgasfdga" le elimina, ma se scrivo "ciao" non lo elimina. Cioe, le parole che non hanno senso si, le parole con un significato no.
    Improbabile.

    Adesso ho notato un altro errore:
    Codice PHP:
    //modifica:
    echo "<font color='black' size='4' face='verdana'><p> ". $post ."<p><br></font> <input type='submit' value='Elimina' name='<?php echo $post; ?>_si'/>";
    //in:
    echo "<font color='black' size='4' face='verdana'><p> $post<p><br></font> <input type='submit' value='Elimina' name='".$post."_si'/>";

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •