Visualizzazione risultati 1 fino 7 di 7

Discussione: Errore PHP

  1. #1
    Guest

    Predefinito Errore PHP

    Codice PHP:
    <?php
    if (empty($_SESSION['my_id'])) { die ("Non sei loggato.<br><a href=\"login.php\">Login</a>");}

    include(
    "../connectdb.php");
    $msg_dest = $_POST['msg_dest'];
    $msg_title = $_POST['msg_title'];
    $msg = $_POST['msg'];
    $msg_data = date("d/m/Y - H:i:s");

    if (
    $msg_dest == '') { die ("Non hai inserito un destinatario.<br><a href='/msg/new_msg.php'>Torna indietro</a>"); }
    $control_dest = mysql_query("SELECT * FROM g_pg WHERE pg_name = '$msg_dest'");
    if(!
    $control_dest) { die ("Il destinatario che hai inserito non è stato trovato.Controlla<br><a href='/msg/new_msg.php'>Torna Indietro</a>"); }

    if (
    $msg_title == '') { die ("Non hai inserito un titolo.<br><a href='/msg/new_msg.php'>Torna Indietro</a>");}
    if (
    strlen($msg_title) < 4) { die ("Titolo troppo corto. Ricorda che deve essere lunga almeno 4 caretteri<br><a href='/msg/new_msg.php'>Torna indietro</a>"); }
    if (
    strlen($msg_title) > 40) { die ("Titolo troppo lungo. Ricorda che non deve essere lunga piu di 40 caretteri<br><a href='/msg/new_msg.php'>Torna indietro</a>"); }

    if (
    $msg == '') { die ("Non hai inserito un testo.<br><a href='/msg/new_msg.php'>Torna Indietro</a>"); }

    $insert_dati = mysql_query("INSERT INTO `g_msg` (`id_mit`, `id_dest`, `msg_title`, `msg_data`, `read`) VALUES ('{$_SESSION['my_name']}', '$msg_dest', '$msg_title', '$msg_data', '0')");
    if(!
    $insert_dati) { echo "ERRORE"; }
    else {
    $mod_title = str_replace(' ','',$msg_title);
    $write_title = strtolower("$mod_title");
    $file= $write_title . ".txt";
    $apro=@fopen("$file","w");
    fwrite($apro,"$msg");
    fclose($apro);
    echo
    "Messaggio inviato correttamente"; }
    ?>
    Perchè non mi funziona l'insert e mi da il messaggio ERRORE?

  2. #2
    Guest

    Predefinito

    Ho risolto questo problema, ma se io volessi inserire questi nuovi file creati in /archivio/ come dovrei fare? Non ci riesco se provo a impostare il percorso /archivio/$file...

  3. #3
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,298

    Predefinito

    Invece di "/archivio/$file", prova con "./archivio/$file". Senza il punto, ti riferisci alla radice, che mi sembra sia "membri". Con il punto, invece, ci si riferisce alla directory corrente (in pratica quella dello script).

    Se vuoi partire dalla radice, dovresti fare "/membri/archivio/$file".

    Se vuoi saperne di più sui percorsi relativi, leggi ad esempio qui.

    Ciao!

  4. #4
    Guest

    Predefinito

    Grazie mille, tutto ok!

  5. #5
    Guest

    Predefinito

    Altro errore, ormai son un cliente abituale xD.

    Mi funziona tutto ma non mi parte l'update O_O

    Codice PHP:
    <?php
    if (empty($_SESSION['my_id'])) { die ("Non sei loggato.<br><a href=\"login.php\">Login</a>");}

    $id_msg = $_GET['id'];
    include(
    "../get/get_msg.php");
    $select_mit = mysql_query("SELECT * FROM g_pg WHERE id = '{$array_readmsg['id_mit']}'");
    $mit = mysql_fetch_array($select_mit);

    echo
    "<h2>Leggi Messaggio</h2>";
    echo
    "Inviato da <b>" . $array_mit['pg_name'] . "</b> il <b>" . $array_readmsg['msg_data'] . "</b><br></br>";
    echo
    "<b>Titolo:</b> " . $array_readmsg['msg_title'] . "<br></br>";
    $file = $id_msg . ".txt";
    $apro=@fopen("./archivio/$file","r");
    $filesize = filesize("./archivio/$file");
    $content = fread($apro, $filesize);
    echo
    "<b>Messaggio:</b> <br> $content";
    fclose($apro);
    $up_read = mysql_query("UPDATE g_msg SET read = 1 WHERE id_mgs = '$id_msg'") or die (mysql_error());

    ?>
    Ultima modifica di wzforum : 31-05-2012 alle ore 21.36.56

  6. #6
    Guest

    Predefinito

    Se, come suppongo, $id_msg è un numero intero, dovresti togliergli gli apici da intorno. Mi spiego:
    Codice PHP:
    $up_read = mysql_query("UPDATE g_msg SET read = 1 WHERE id_mgs = $id_msg") or die (mysql_error());
    EDIT:
    Mmh.. Forse mi sbaglio, ma potrebbe essere anche che hai sbagliato a scrivere il nome della colonna. E' id_mgs o id_msg?
    Codice PHP:
    $up_read = mysql_query("UPDATE g_msg SET read = 1 WHERE id_msg = $id_msg") or die (mysql_error());
    Ultima modifica di tryphpnuke : 31-05-2012 alle ore 22.13.35

  7. #7
    Guest

    Predefinito

    No era tutto giusto, comunque ho risolto, grazie lo stesso ;)

Regole di scrittura

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