• Consiglio Direttivo

    Dai messaggi di errore che ti da sembra che fallisca il login.....
    hai settato user e psw ftp, si? 😄


  • User Attivo

    Ciao Samyorn,
    sono passate un paio di settimane da quando ho aperto il thread ed a memoria dico che di si. Quando aprii il thread mi sembrava di avere fatto tutto a regola.
    Quali files dovrebbero essere coinvolti in questa richiesta?
    Parliamo dello stasso image.php?
    Nella riga 6 del medesimo file mi dice:

    $ftpServer = "ftp.NASCOSTO.it"; $ftpUser = "NASCOSTO"; $ftpPass = "http://www.NASCOSTO.it:2082/frontend/x3/filemanager/index.html?dirselect=webroot&domainselect=NASCOSTO.it&dir=%2Fhome%2Fprogetto%2Fpublic_html";
    

    E' li che se la va a prendere... giusto?

    Ciao
    Stefano


  • Consiglio Direttivo

    si, credo sia proprio quello, mi era sfuggito 😄
    Ti consiglio pero' di inserirli comunque in un file diverso e poi fai un include ad inizio pagina così come per db_conn.php
    e ricontrolla i parametri di connessione ftp 😉


  • User Attivo

    @Samyorn said:

    si, credo sia proprio quello, mi era sfuggito 😄
    Ti consiglio pero' di inserirli comunque in un file diverso e poi fai un include ad inizio pagina così come per db_conn.php
    e ricontrolla i parametri di connessione ftp 😉

    Ciao Samyorn,
    ho cambiato la lunga stringa di password con la password stessa. Per il momento mi interessa rendere il sito nuovamente funzionante. In un secondo momento mi occuperò della sicurezza.

    In effetti ora l'upload restituisce un messaggio di conferma upload. Purtroppo i files caricati non risultano disponibili come invece risultavano prima. Insomma, non c'è traccia.

    Inoltre, se li cerco nell'area Delete images del pannello admin, mi restituisce un errore di sintassi:

    Parse error: syntax error, unexpected T_IF in /home/progetto/public_html/upload/delete.php on line 9

    Eppure la riga 9 mi sembra a posto. Tu che dici?

    $file if (ftp_delete($ftpConn, $finalFile)) { 
    

    Ciao

    Stefano

    $file if (ftp_delete($ftpConn, $finalFile)) {


  • Consiglio Direttivo

    Intanto ti ci ho dato una sistemata, c'erano alcune parti di codice commentate 😉
    [php]<?php
    require_once('../includes/db_conn.php');
    require_once('../includes/verify.php');
    ?>
    <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head> NASCOSTO PER NON FARE PUBBLICITA 😉
    </head>
    <body> Menù amministrazione
    <hr><?php if ($HTTP_POST_VARS['submit'])
    {
    // variables
    $ftpServer = "ftp..it";
    $ftpUser = "********";
    $ftpPass = "
    ******";
    $finalDir = '/public_html/images/';
    $finalFile = $finalDir . $_FILES['file']['name'];
    $sourceFile = $_FILES['file']['tmp_name'];
    // Connect and echo result
    $ftpConn = ftp_connect($ftpServer);
    $ftpResult = ftp_login($ftpConn, $ftpUser, $ftpPass);
    ftp_pasv($ftpConn, true);
    if ((!$ftpConn) || (!$ftpResult))
    echo "Connessione fallita<br><br>";
    else
    echo "Connessione avvenuta<br><br>";

    // upload the file
    $ftpUpload = ftp_put($ftpConn, $finalFile, $sourceFile, FTP_BINARY);
    // check upload status
    if (!$ftpUpload)
    echo "Upload immagine fallito!";
    else
    { echo "Upload immagine avvenuto con successo!";
    $nome_file_temporaneo = $_FILES['file_inviato']['tmp_name'];
    $nome_file = 'http://www.progettocasare.it/images/' . $_FILES['file']['name'];
    $tipo_file = $_FILES['file_inviato']['type'];
    // leggo il contenuto del file #
    $dati_file = file_get_contents($nome_file_temporaneo);
    // preparo il contenuto del file per la query #
    $dati_file = addslashes($dati_file);
    // query per inserire il file nel DB
    $query = "INSERT INTO images SET ImageURL = '$nome_file', tipo_file = '$tipo_file', dati_file = '$dati_file'";
    $sql= mysql_query($query) OR die('Query non valida: ' . mysql_error());
    }
    // close the FTP stream
    ftp_close($ftpConn); }
    ?>
    <form action="<?=$PHP_SELF?>" method="POST" enctype="multipart/form-data">
    <p> Selezionare l'immagine per l'upload:<br>
    <input type="file" name="file"><br>
    <input type="submit" name="submit" value="submit">
    </form></p>
    </body>
    </html>[/php]
    ovviamente sostituisci tutti gli * che ho messo con il dovuto e vedi se funziona 😉


  • User Attivo

    Ciao Samyorn,
    comincio già a sentirmi pesantemente in debito 😊
    Se ti occorre grafica, non esitare a chiedere.

    Ho sostituito il file image.php con il codice che mi hai dato e, caricando un'immagine, mi restituisce questo messaggio:
    "Upload immagine avvenuto con successo!Query non valida: Unknown column 'tipo_file' in 'field list'"
    Senza mostrare alcun pulsante per rientrare.

    Allo stesso tempo, pare tutto fuori allineamento il file delete.php:

    <?php require_once('../includes/db_conn.php');?> <?php require_once('../includes/verify.php');?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html>
    <head><title>NASCOSTO</title> </head>
    <body> <a href="http://www.NASCOSTO.it/admin/">Menù amministrazione</a>
    <hr><?php if ($HTTP_POST_VARS['submit']) { // variables $ftpServer = "ftp.NASCOSTO.it"; $ftpUser = "NASCOSTO"; $ftpPass = "NASCOSTO"; $finalDir = '/public_html/images/'; $ImageURL = $_POST['ImageURL']; $file = substr($ImageURL,36); $finalFile = $finalDir . $file;
    // Connect and echo result
    $ftpConn = ftp_connect("$ftpServer"); $ftpResult = ftp_login($ftpConn, $ftpUser, $ftpPass); ftp_pasv($ftpConn, true); if ((!$ftpConn) || (!$ftpResult)) echo "Connessione fallita<br><br>"; else echo "Connessione avvenuta<br><br>";
    // try to delete
    $file if (ftp_delete($ftpConn, $finalFile)) {
    // the ftp function echo
    "$finalFile deleted successful\n"; }
    else { echo "could not delete $finalFile\n"; }
    // close the FTP stream
    ftp_close($ftpConn);
    $query = "DELETE FROM images WHERE ImageURL = '$ImageURL'";
    # tipo_file = '$tipo_file',
    # dati_file = '$dati_file'";
    # mysql_query($query) OR die('Query non valida: ' . mysql_error()); } ?>
    <form action="<?=$PHP_SELF?>" method="post"> <p> Immagine:&nbsp;<select name=""><?php
    //Recupero tutte gli autori disponibili
    &nbsp;$strSQL = "";
    $result = mysql_query($strSQL);
    //Popolo la select
    while($row = mysql_fetch_array($result)){
    $ImageID = $row['ID'];
    $ImageURL = $row['ImageURL'];
    //$strCognome = $row['strCognome'];
    //Mantengo l'autore originario
    echo "<option value=\"$ImageURL\">$ImageURL</option>\n"; }
    //Libero la memoria
    mysql_free_result($result); ?>
    </select><br> <input type="" name="submit" value="Cancella"> </form> </p> </body> </html>
    

    Purtroppo, come specificato, sono Esperto si, in grafica. E questo codice mi da grattacapi già solo per l'allineamento.

    Una cosa che non farò più, lo giuro, è usare Opera per editare i files sul server :arrabbiato:

    Ciao

    Stefano


  • Consiglio Direttivo

    @Stefano Virgilli said:

    Ciao Samyorn,
    comincio già a sentirmi pesantemente in debito 😊
    Se ti occorre grafica, non esitare a chiedere.
    Sei già sdebitato tranquillo 😄
    Mi son bastati i tuoi tutorial che ho usato in passato 😉

    @Stefano Virgilli said:

    Ho sostituito il file image.php con il codice che mi hai dato e, caricando un'immagine, mi restituisce questo messaggio:
    "Upload immagine avvenuto con successo!Query non valida: Unknown column 'tipo_file' in 'field list'"
    Senza mostrare alcun pulsante per rientrare.
    Ma il file lo upload*a *(ndt :D)?
    uhm...ovviamente mettere mano in un codice progettato da un altro è cosa ardua, io li ho decommentati dato che mi sembravano parte del codice. Se è giusto per come te l'ho postato dovresti verificare che sul Db esista questo campo tipo_file, oppure, altra prova che puoi fare, è provare a togliere il pezzo che ho decommentato, ovvero togli dalla riga questo pezzo:

    , tipo_file = '$tipo_file', dati_file = '$dati_file'
    

    senza dimenticare la virgola 😉

    @Stefano Virgilli said:

    Allo stesso tempo, pare tutto fuori allineamento il file delete.php:
    sistemato 😉
    [php]<?php
    require_once('../includes/db_conn.php');
    require_once('../includes/verify.php');
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html>
    <head><title>NASCOSTO</title> </head>
    <body>
    <a href="http://www.NASCOSTO.it/admin/">Menù amministrazione</a>
    <hr>
    <?php
    if ($HTTP_POST_VARS['submit'])
    {
    $ftpServer = "ftp.NASCOSTO.it";
    $ftpUser = "NASCOSTO";
    $ftpPass = "NASCOSTO";
    $finalDir = '/public_html/images/';
    $ImageURL = $_POST['ImageURL'];
    $file = substr($ImageURL,36);
    $finalFile = $finalDir . $file;
    $ftpConn = ftp_connect("$ftpServer");
    $ftpResult = ftp_login($ftpConn, $ftpUser, $ftpPass);
    ftp_pasv($ftpConn, true);
    if ((!$ftpConn) || (!$ftpResult))
    echo "Connessione fallita<br><br>";
    else
    echo "Connessione avvenuta<br><br>";
    if (ftp_delete($ftpConn, $finalFile))
    {
    echo "$finalFile deleted successful\n";
    }
    else
    {
    echo "could not delete $finalFile\n";
    }
    ftp_close($ftpConn);
    $query = "DELETE FROM images WHERE ImageURL = '$ImageURL', tipo_file = '$tipo_file', dati_file = '$dati_file'";
    $sql=mysql_query($query) OR die('Query non valida: ' . mysql_error());
    }
    ?>
    <form action="<?=$PHP_SELF?>" method="post">
    <p>Immagine: <select name=""> 
    <?php
    $strSQL = "";
    $result = mysql_query($strSQL);
    while($row = mysql_fetch_array($result))
    {
    $ImageID = $row['ID'];
    $ImageURL = $row['ImageURL'];
    $strCognome = $row['strCognome'];
    echo "<option value="$ImageURL">$ImageURL</option>\n";
    }
    mysql_free_result($result);
    ?>
    </select><br>
    <input type="submit" name="submit" value="Cancella">
    </form></p>
    </body>
    </html>
    [/php]
    @Stefano Virgilli said:
    Una cosa che non farò più, lo giuro, è usare Opera per editare i files sul server
    😄


  • User Attivo

    Grande Samyorn!
    Ho seguito i passaggi alla lettera e direi che ci siamo quasi...
    La prima bella notizia è che eliminando quella stringa, ora il modulo upload funziona (prima diceva di caricare le immagini, anche se poi non lo faceva).

    Il file delete.php ora apre la pagina, solo che nella lista, non trova files da cancellare...

    [ATTACH]1330[/ATTACH]

    Ciao

    Stefano


  • Consiglio Direttivo

    great 😄

    allora non erano commentati a caso 😄

    cancella lo stesso pezzo anche in delete.php e dovrebbe funzionare 😉


  • User Attivo

    Potrebbe essere questo il colpevole? :mmm:

    $file = substr($ImageURL,36);
    

    Ciao

    Stefano


  • User Attivo

    Ops... abbiamo scritto in simultanea.
    Ho cancellato la stringa che hai consigliato... il risultato purtroppo non cambia.

    C'è una novità, che forse è un indizio. Se premo il tasto Cancella a vuoto, mi da un errore:
    Warning: ftp_delete() [function.ftp-delete]: /public_html/images/: Is a directory in /home/NASCOSTO/public_html/upload/delete.php on line 27
    could not delete /public_html/images/

    Ed ecco la riga 27:

     if (ftp_delete($ftpConn, $finalFile))
    

    Che ne dici?

    Ciao

    Stefano


  • Consiglio Direttivo

    stavo riguardando
    non ti esce nulla perchè manca la query di selezione
    prova a sostituire questo

    $strSQL = "";
    

    con questo:

    $strSQL = "SELECT * FROM images";
    

    se ti da ancora errori poi controlliamo quel warning 😉

    PS: quella modifica ch hai fatto rimane, dato che ti funziona senza tipo_file e dati_file non ha senso metterlo nel delete.php


  • User Attivo

    Fantastico!
    Non sai come invidio la tua competenza 😊

    Ora mostra la lista delle immagini. Premendo il pulsante Cancella, resta l'errore:
    Warning: ftp_delete() [function.ftp-delete]: /public_html/images/: Is a directory in /home/progetto/public_html/upload/delete.php on line 27
    could not delete /public_html/images/

    Sono sbalordito... fino a che aprissi i php con Opera funzionava che era una meraviglia.

    Come può essere che per esempio quest'ultima modifica funzionasse prima? :mmm:

    A parte scombinare l'allineamento non ho cancellato nulla :bho:

    Ciao

    Stefano


  • Consiglio Direttivo

    @Stefano Virgilli said:

    Fantastico!
    Non sai come invidio la tua competenza 😊
    INcompetenza semmai 😊
    Sono solo conoscenze base queste 😉

    Mancava un altro pezzo 😄
    modifica il <select> così:
    [php]<select name="ImageURL">[/php]
    Spero non dia più problemi 😉
    @Stefano Virgilli said:

    Sono sbalordito... fino a che aprissi i php con Opera funzionava che era una meraviglia.

    Come può essere che per esempio quest'ultima modifica funzionasse prima? :mmm:

    A parte scombinare l'allineamento non ho cancellato nulla :bho:
    Non so darti una risposta :bho:
    a parte pezzi di codice che mancano, come il name di sopra, la definizione degli <input> e l'istruzione SQL di prima c'erano anche dei commenti di riga che andando a capo venivano letti come parte del codice e quindi sfasavano un po il tutto.
    Vediamo se ora funge nuovamente 😉


  • User Attivo

    @Samyorn said:

    INcompetenza semmai 😊
    Sono solo conoscenze base queste 😉

    ehehe... così mi fai sentire ancora più somaro! :giggle:

    Grazie mille!

    Ora funziona tutto alla grande.

    Sono a debito.

    Se ti serve una mano in grafica, fai un fischio!

    Ciao

    Stefano


  • Consiglio Direttivo

    @Stefano Virgilli said:

    ehehe... così mi fai sentire ancora più somaro! :giggle:
    Ops....:D
    ok, competenza nelle conoscenze base allora 😄

    @Stefano Virgilli said:

    Se ti serve una mano in grafica...
    non saprei da dove partire 😄

    di nulla comunque 😉
    è stato un piacere.
    Ciao