Visualizzazione risultati 1 fino 3 di 3

Discussione: Comparsa di Errore Parse error: syntax error

  1. #1
    generatin non è connesso Neofita
    Data registrazione
    13-05-2019
    Messaggi
    27

    Predefinito Comparsa di Errore Parse error: syntax error

    Non essendo un esperto di variabili e php vorrei sapere qual è l'errore che fa comparire il messaggio Parse error di sintassi.

    Ovviamente, siccome non sono esperto non ho fatto io il codice del file php che farò vedere tra poco, ma l'ho preso da un programma che ho scaricato via web.

    Il file php in questione è chiamato removeuser.php ed ha questo codice:

    Codice PHP:
    <?
    session_start
    ();
    include
    "../../sa_config.php";
    include
    "../lang/$language";
    if(!
    sa_admin_check_security()){
    sa_meta_redirect('index.php');
    exit;
    }
    if (
    $_REQUEST['deleteuser']){
    $con = sa_db_connect();
    if(!
    $con){
    //could add some kind of admin email message here
    echo "Could not connect to database. ".mysql_error();
    exit;
    }
    if(
    $_POST['action'] == "suspend"){
    $timeNow = time();
    mysql_query("UPDATE Affiliates SET EndEffectiveDate = '$timeNow'
    WHERE AffiliateID = '"
    .$_POST['deleteuser']."' LIMIT 1")
    or die(
    "Database INSERT Error");

    //send an email to the user that he was suspended
    $q1 = mysql_query("SELECT * FROM Affiliates WHERE AffiliateID = '$_POST['deleteuser']' ");
    $row1 = mysql_fetch_array($q1);

    $aemailbody = "Dear ".$row1['afirstname'].",\n\nYou have been temporarily suspended from the $siteName.\n\n"
    ."For more info you may contact the Program Manager at the email address below.\n\n"
    ."Affiliate Program Manager\n"
    .$adminEmail."\n\n\n\n";
    if(!
    mail($row1['aemail'], "Affiliate Program Suspension", $aemailbody, "From:".$adminEmail."\nReply-To:".$adminEmail."\n")){
    echo
    "<br><center>Mail Delivery to New Affiliate Failed.</center>";
    }else{
    echo
    "Suspend Email sent to Affiliate";
    }

    sa_meta_redirect('affiliates.php');
    exit;
    }
    elseif(
    $_POST['action'] == "view"){
    $aid_link = "view_affiliate.php?aid=".$_POST['deleteuser'];
    sa_meta_redirect($aid_link);
    exit;
    }
    }
    include
    "header.php";
    echo
    "<br><br><center>You are being redirected. If not redirected in 5 seconds you have reached this page in error.";
    include
    "footer.php";
    ?>
    La linea 23 è ovviamente questa:
    Codice PHP:
    $q1 = mysql_query("SELECT * FROM Affiliates WHERE AffiliateID = '$_POST['deleteuser']' ");
    Quando vado a cliccare su questo file mi compare un avviso che dice:

    Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in /membri/generatin/sonic_affiliate/user/admin/removeuser.php on line 23

    Facendo una ricerca sul web ho provato a togliere e rimettere la sintassi delle virgolette alla linea 23 del codice (cioè le virgolette "" e '') ma non ho risolto niente, il messaggio di errore compare sempre.

    Qual è quindi l'errore di sintassi per cui compare questo messaggio e non mi fa visualizzare la pagina?
    Ultima modifica di generatin : 23-03-2020 alle ore 14.50.58

  2. #2
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Molto probabilmente il problema è l'interpolazione su stringhe che comprendono nomi di variabili con indici e apici. Vai sul sicuro e non usare l'interpolazione:
    Codice PHP:
    $q1 = mysql_query("SELECT * FROM Affiliates WHERE AffiliateID = '" . $_POST['deleteuser'] ."'");
    Non c'entra col problema, ma le funzioni mysql_* sono morte e sepolte. Erano utilizzabili fino alla versione 5.x di PHP (PHP: Choosing an API), la quale non è più supportata dal 1 gennaio 2019 (Supported Versions).

    I suggerimenti che do più spesso:


  3. #3
    generatin non è connesso Neofita
    Data registrazione
    13-05-2019
    Messaggi
    27

    Predefinito

    mzanella adesso il messaggio di errore è scomparso e quindi riesco ad accedere alla pagina con conseguente funzionamento del file. Grazie di tutto, seguirò il tuo suggerimento.

Tags for this Thread

Regole di scrittura

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