Visualizzazione dei risultati da 1 a 4 su 4

Discussione: errore nel file php

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    19

    errore nel file php

    Salve a tutti

    Ho scaricato uno script in php per realizzare una mailing list, funziona tutto tranne quando tento di cancellare una mail dalla lista.
    Nel file remove.php mi da un errore alla righa 16 dello script di seguito il messaggio di errore.

    Parse error: syntax error, unexpected '[', expecting ')' in /web/htdocs/www.esteticasilvia.it/home/maillist/admin/remove.php on line 16

    Di seguito il codice completo con la righa che da errore in bold.

    <?php

    include("../config.php");
    include("../$language");

    $list_file = "../email.dat";

    include("../header.html");

    if (remove_from_list($HTTP_POST_VARS[email])){
    echo "<p align=\"center\"><font face=\"Verdana\" size=\"2\">$txt[19]</font></p>";
    }else{
    echo "<p align=\"center\"><font face=\"Verdana\" size=\"2\">$txt[21]
    $txt[23]</font></p>";
    }

    function remove_from_list($HTTP_POST_VARS[email]) {
    global $list_file;
    $file = @file($list_file);
    $success = false;
    $fd = @fopen($list_file, "w") or die("$txt[1]");
    if ($file) {
    foreach($file as $address) {
    $address = trim($address);
    if ($address != $HTTP_POST_VARS[email]) fputs($fd, "$address\n");
    else $success = true;
    }
    fclose($fd);
    }
    return $success;
    }

    mail("$HTTP_POST_VARS[email]","Cancellazione dalla $nomeml","$txt[26]","From: $owmail");
    include("../footer.html");

    ?>


    Grazie in anticipo

  2. #2
    cambia
    function remove_from_list($HTTP_POST_VARS[email]) {
    in
    function remove_from_list($email) {

    non puoi dire a php aspettati una variabile di array!



    1) cmq a meno che non hai php 4, devi usare(sicurezza) $_POST $_GET $_SERVER etc... non $HTTP_POST_VARS
    2) gli array sopracitati sono accessibili dalle funzioni (forse anche dalle classi) senza bisogno di passaggi o dichiarazioni global
    3) usare @davanti alle funzioni non risolve il problema lo zittisce... posta il problema che restituisce quella funzione che lo risolviamo
    4) la prossima volta che posti del codice sul forum mettilo tra i tag di php vedi (sopra alla textin cui scrivi) e indentalo altrimenti non si legge e in pochi ti aiuteranno
    5) usare global non è mai una buona tattica, passalo sempre nella funzione... se lo devi modificare e fare in modo che le modifiche siano presenti anche fuori dalla funzione passalo per reference in questo modo:

    function remove_from_list($email, &$list) {

    e lo richiami cosi:

    function remove_from_list($email, $list_file) {

    x altro siamo qui...
    Perchè essere stupidi non è una menomazione ma un diritto di tutti!!!

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    19

    errore nel file php

    Grazie sonounostrinato

    Come avrai capito non sono affatto esperto di php quindi prenderò alla lettera i tuoi suggerimenti.
    Sperando di imparare alla svelta.

    Luca

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    19
    Originariamente inviato da sonounostrinato
    cambia
    function remove_from_list($HTTP_POST_VARS[email]) {
    in
    function remove_from_list($email) {

    non puoi dire a php aspettati una variabile di array!



    1) cmq a meno che non hai php 4, devi usare(sicurezza) $_POST $_GET $_SERVER etc... non $HTTP_POST_VARS
    2) gli array sopracitati sono accessibili dalle funzioni (forse anche dalle classi) senza bisogno di passaggi o dichiarazioni global
    3) usare @davanti alle funzioni non risolve il problema lo zittisce... posta il problema che restituisce quella funzione che lo risolviamo
    4) la prossima volta che posti del codice sul forum mettilo tra i tag di php vedi (sopra alla textin cui scrivi) e indentalo altrimenti non si legge e in pochi ti aiuteranno
    5) usare global non è mai una buona tattica, passalo sempre nella funzione... se lo devi modificare e fare in modo che le modifiche siano presenti anche fuori dalla funzione passalo per reference in questo modo:

    function remove_from_list($email, &$list) {

    e lo richiami cosi:

    function remove_from_list($email, $list_file) {

    x altro siamo qui...


    Ho fatto come mi hai detto tu e adesso mi da un errore di questo tipo:

    L'e-mail inserita non è nella lista.

    Luca

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