Visualizzazione risultati 1 fino 5 di 5

Discussione: [php] errore nel codice

  1. #1
    Guest

    Predefinito [php] errore nel codice

    ecco il codice, non riesco a trovare l'errore...Ho settato tutte le variabili prima di questo script
    Codice PHP:
    $risultato_delete = connetti("SELECT * FROM $tabSql WHERE aggiornato=0 and $nome_campi[1]='$codice_corriere'");
    while (
    $row_delete = mysql_fetch_array($risultato_delete)){



    if (isset(
    $row_delete['foto1']) && file_exists("imgs/bds/$codice_corriere/$row_delete['foto1']")) {
    unlink("imgs/bds/$codice_corriere/$row_delete['foto1']");
    }

    if (isset(
    $row_delete['foto1']) && file_exists("imgs/bds/$codice_corriere/$row_delete['foto1Thumb']")) {
    unlink("imgs/bds/$codice_corriere/$row_delete['foto1Thumb']");
    }

    if (isset(
    $row_delete['foto1']) && file_exists("imgs/bds/$codice_corriere/$row_delete['foto2']")) {
    unlink("imgs/bds/$codice_corriere/$row_delete['foto2']");
    }

    if (isset(
    $row_delete['foto1']) && file_exists("imgs/bds/$codice_corriere/$row_delete['foto2Thumb']")) {
    unlink("imgs/bds/$codice_corriere/$row_delete['foto2Thumb']");
    }

    connetti("DELETE FROM $tabSql WHERE $nome_campi[0]=$row_delete['cod_annuncio'] and $nome_campi[1]='".$codice_corriere."'");
    }

  2. #2
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Che errore ti viene dato?
    La funzione connetti l'hai creata?
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  3. #3
    Guest

    Predefinito

    si ho fatto tutto adesso ho scritto
    Codice PHP:
    unlink("imgs/bds/".$codice_corriere."/".$row_delete['foto2Thumb']."");
    e sembra funzionare..
    La funzione unlink funziona su altervista?

  4. #4
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Citazione Originalmente inviato da sql
    La funzione unlink funziona su altervista?
    Io la uso e mi funziona, ti dà qualche errore?
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  5. #5
    Guest

    Predefinito

    Dunque,
    se ce ne fosse il bisogno (non credo), la funzione unlink ti posso confermare che ovviamente funziona.

    Mentre il problema che noto nello script che hai postato riguarda come indichi gli elementi di array all'interno di stringhe con "doppie-virgolette".

    Guarda, se ne sta trattando tra l'altro da un paio di giorni anche in questo thread:
    http://forum.altervista.org/showthread.php?t=52025

    Allora, capiamo fino a che punto puoi scrivere direttamente variabili all'interno delle stringhe.
    Fin quando scrivi:
    $stringa = "<div>$arr[0] contro $arr[1]</div>";

    la cosa pare sia interpretabile per PHP, cioè fin quando l'elemento dell'array lo identifichi con un semplice indice (un numero, la posizione dell'elemento).

    Mentre a me risulta che non sia possibile (almeno in questa configurazione) interpretare dentro una stringa elementi di array identificati da un indice associativo, cioè se ho un array:

    $arr = array('primo' => 'ciccio', 'secondo' => 'pippo');
    $stringa = "<div>$arr['primo'] contro $arr['secondo']</div>";


    come detto più volte nell'altro thread che ho linkato sopra,
    devi piuttosto racchiudere le espressioni array all'interno di parentesi GRAFFE {}
    ovvero:
    $stringa = "<div>{$arr['primo']} contro {$arr['secondo']}</div>";

    Questo ovviamente per non stare a interrompere chiudendo e riaprendo la stringa ogni volta che vuoi concatenarci il valore di un array, come comunque non è infrequente che si faccia...


    Nel tuo script è molto frequente l'utilizzo di elementi di array nelle stringhe, quindi dovrai inserire molte graffe
    ora, per esempio, nella sola query potresti correggere scrivendo:
    Codice PHP:
    connetti("DELETE FROM $tabSql WHERE {$nome_campi[0]}={$row_delete['cod_annuncio']} and {$nome_campi[1]}='$codice_corriere'");
    $codice_corriere invece l'avevi scritto interrompendo la stringa e concatenando, proprio lui invece può essere scritto con la minima possibilità di conflitto (di non interpretazione).
    Nulla vieta di indicare anche TUTTE le variabili semplici sempre con le graffe! Insomma le graffe servono per evitare problemi di parsing di variabili all'interno di stringhe.
    ciao

Regole di scrittura

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