Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [PHP] permission to access

    Ciao a tutti,
    ho scaricato il seguente script per la realizzazione di un sondaggio.
    Su una macchina che ha una vecchia versione di PHP gira sulla mia che ha la versione di PHP 4.3.9 mi segnala questo errore

    Forbidden
    You don't have permission to access /admin/
    Notice: Use of undefined constant PHP_SELF - assumed 'PHP_SELF' in C:/siti/prova/admin/index.php on line 11
    /admin/index.php on this server.
    Apache/2.0.50 (Win32) PHP/4.3.9 Server at prova Port 80


    QUESTA E'LA LINEA 11 <form method="post" action="<? $PHP_SELF ?>" submit="yes">

    Codice PHP:
    <?
    require_once("../settings.inc");
    function 
    insert($field,$pollid){
         
    mysql_query ("insert into poll_alternatives (poll_id,alternative,votes) values ('$pollid','$field','0')");
         echo 
    "insert into poll_alternatives (poll_id,alternative,votes) values ('$pollid','$field','0')
    "
    ;
    }

    if (empty(
    $submit)){
      
    ?>
         <font face="Verdana" size="2">
         <form method="post" action="<? $PHP_SELF ?>" submit="yes">
         [b]Question:[/b]

         <input type="text" name="question">


         [b]Alternative 1:[/b] <input type="text" name="alt">

         [b]Alternative 2:[/b] <input type="text" name="alt2">

         [b]Alternative 3:[/b] <input type="text" name="alt3">

         [b]Alternative 4:[/b] <input type="text" name="alt4">

         [b]Alternative 5:[/b] <input type="text" name="alt5">

         [b]Alternative 6:[/b] <input type="text" name="alt6">

         [b]Alternative 7:[/b] <input type="text" name="alt7">

         [b]Alternative 8:[/b] <input type="text" name="alt8">


         <input type="submit" name="submit" value="Submit">
         </FORM></font>
    <?
    }
    else{
     
    $poll mysql_connect("$db_host""$db_username""$db_password")
            or die (
    "Could not connect");
     
    mysql_select_db ("cerebus")
            or die (
    "Could not select database");
     
    $checkforpoll=mysql_query("select * from polls");
     if (
    mysql_num_rows($checkforpoll)==0){
        
    $date date("Y-m-d");
        
    mysql_query ("insert into polls (question, active,dateactive,votes) values ('$question','yes',$date,'0')");
        echo 
    "insert into polls (question, active,dateactive,votes) values ('$question','yes',$date,'0')

    "
    ;
     }
     else {
          
    mysql_query ("insert into polls (question, active,votes) values ('$question','no','0')");
          echo 
    "insert into polls (question, active,votes) values ('$question','no','0')

    "
    ;
     }
     
    $getpollid mysql_query("select id from polls where question='$question' order by id desc limit 1");
     
    $getitid mysql_fetch_row($getpollid);
     
    $pollid $getitid[0];
     if(
    $alt){ insert($alt,$pollid);}
     if(
    $alt2){ insert($alt2,$pollid); }
     if(
    $alt3){ insert($alt3,$pollid); }
     if(
    $alt4){ insert($alt4,$pollid); }
     if(
    $alt5){ insert($alt5,$pollid); }
     if(
    $alt6){ insert($alt6,$pollid); }
     if(
    $alt7){ insert($alt7,$pollid); }
     if(
    $alt8){ insert($alt8,$pollid); }

     
    mysql_close($poll);
    }
    ?>

  2. #2
    devi usare le nuove variabili super globali!!!

    stai programmando con register_global a off (e ciò è un bene) ma per fare funzionare vecchi script bisogna convertirli con le register_global a off dato che lo usano come se fosse su on

    ad es ... $PHP_SELF diventa ... $_SERVER['PHP_SELF']

  3. #3
    ciao Daniele ho fatto la modifica
    <form method="post" action="<? $_SERVER['PHP_SELF'] ?>" submit="yes">
    ma continua con lo stesso errore,

  4. #4
    devi cambiare anche TUTTO il resto...

    cmq...il form lo puoi cambiare da

    <form method="post" action="<? $PHP_SELF ?>" submit="yes">

    a

    <form method="post" submit="yes">

    che va bene lo stesso

  5. #5
    Ho provato ad impostare register_globals = On e funziona.
    Però vorrei evitare di farlo, visto che è sconsigliato farlo.

    Ho fatto la modifica che mi hai detto alla form. Adesso non mi segnala nessun errore però non salva niente nel DB
    Qual'è il resto da cambiare?

  6. #6
    tutte le variabili che lui usa sono impostate con il register global a on...quindi devi vedere tutti i nomi dei campi presenti nel form...cercare la variabile corrispondente al nome e farla diventare...

    $_POST['variabile']

    ovvero...mettiamente che nel form c'è un campo che si chiama nome...

    nello script ci sarà allora una variabile chiama $nome...tu la devi far diventare $_POST['nome']

    ovviamente SOLO per quelle che vengono dal POST, ovvero dal form...poi ci sono anche le variabili GET, ovvero quelle che provengono dall'url...quando c'è ?nome=daniele allora avrai una variabile dentro $_GET, del tipo $_GET['nome']

    se guardi tra le pillole (che trovi nel regolamento) o guardi su freephp.html.it tra gli articoli trovi qualche cosa che ti spiega le differenze e il funzionamento ))

    sciauz

  7. #7
    provo e ti faccio sapere.

  8. #8
    Rieccomi

    Modificato in questo modo, non mi segnala nessun errore, ma continua a non registrare nulla nel DB

    Codice PHP:
    <?
    require_once("../settings.inc");
    function 
    insert($field,$pollid){
         
    mysql_query ("insert into poll_alternatives (poll_id,alternative,votes) values ('$pollid','$field','0')");
         echo 
    "insert into poll_alternatives (poll_id,alternative,votes) values ('$pollid','$field','0')
    "
    ;
    }

    if (empty(
    $submit)){
      
    ?>
         <font face="Verdana" size="2">
         <form method="post"  submit="yes">
         [b]Question:[/b]

         <input type="text" name="question">


         [b]Alternative 1:[/b] <input type="text" name="alt">

         [b]Alternative 2:[/b] <input type="text" name="alt2">

         [b]Alternative 3:[/b] <input type="text" name="alt3">

         [b]Alternative 4:[/b] <input type="text" name="alt4">

         [b]Alternative 5:[/b] <input type="text" name="alt5">

         [b]Alternative 6:[/b] <input type="text" name="alt6">

         [b]Alternative 7:[/b] <input type="text" name="alt7">

         [b]Alternative 8:[/b] <input type="text" name="alt8">


         <input type="submit" name="submit" value="Submit">
         </FORM></font>
    <?
    }
    else{
     
    $poll mysql_connect("$db_host""$db_username""$db_password")
            or die (
    "Could not connect");
     
    mysql_select_db ("cerebus")
            or die (
    "Could not select database");
     
    $checkforpoll=mysql_query("select * from polls");
     if (
    mysql_num_rows($checkforpoll)==0){
        
    $date date("Y-m-d");
        
    mysql_query ("insert into polls (question, active,dateactive,votes) values ('$question','yes',$date,'0')");
        echo 
    "insert into polls (question, active,dateactive,votes) values ('$question','yes',$date,'0')

    "
    ;
     }
     else {
          
    mysql_query ("insert into polls (question, active,votes) values ('$question','no','0')");
          echo 
    "insert into polls (question, active,votes) values ('$question','no','0')

    "
    ;
     }
     
    $getpollid mysql_query("select id from polls where question='$question' order by id desc limit 1");
     
    $getitid mysql_fetch_row($getpollid);
     
    $pollid $getitid[0];
     if(
    $_POST['alt']){ insert($_POST['alt'],$pollid);}
     if(
    $_POST['alt2']){ insert($_POST['alt2'],pollid); }
     if(
    $_POST['alt3']){ insert($_POST['alt3'],pollid); }
     if(
    $_POST['alt4']){ insert($_POST['alt4'],pollid); }
     if(
    $_POST['alt5']){ insert($_POST['alt5'],pollid); }
     if(
    $_POST['alt6']){ insert($_POST['alt6'],pollid); }
     if(
    $_POST['alt7']){ insert($_POST['alt7'],pollid); }
     if(
    $_POST['alt8']){ insert($_POST['alt8'],pollid); }

     
    mysql_close($poll);
    }
    ?>

  9. #9
    controlla...

    ad esempio qui te ne sei dimenticato 1...

    if (empty($submit)){

    deve diventare

    if (empty($_POST['submit'])) {

    anche se sarebbe meglio

    if (!isset($_POST['submit'])) {

  10. #10
    Cia Daniele

    ho modificato così e funziona, se ne hai voglia mi fai sapere se va bene, o se ho solo messo una toppa.
    Codice PHP:
    <?
    require_once("../settings.inc");
    function 
    insert($field,$pollid){
         
    mysql_query ("insert into poll_alternatives (poll_id,alternative,votes) values ('$pollid','$field','0')");
         echo 
    "insert into poll_alternatives (poll_id,alternative,votes) values ('$pollid','$field','0')
    "
    ;
    }

    if (!isset(
    $_POST['submit'])) {
      
    ?>
         <font face="Verdana" size="2">
         <form method="post"  submit="yes">
         [b]Question:[/b]

         <input type="text" name="question">


         [b]Alternative 1:[/b] <input type="text" name="alt">

         [b]Alternative 2:[/b] <input type="text" name="alt2">

         [b]Alternative 3:[/b] <input type="text" name="alt3">

         [b]Alternative 4:[/b] <input type="text" name="alt4">

         [b]Alternative 5:[/b] <input type="text" name="alt5">

         [b]Alternative 6:[/b] <input type="text" name="alt6">

         [b]Alternative 7:[/b] <input type="text" name="alt7">

         [b]Alternative 8:[/b] <input type="text" name="alt8">


         <input type="submit" name="submit" value="Submit">
         </FORM></font>
    <?
    }
    else{
     
    $poll mysql_connect("$db_host""$db_username""$db_password")
            or die (
    "Could not connect");
     
    mysql_select_db ("cerebus")
            or die (
    "Could not select database");
     
    $checkforpoll=mysql_query("select * from polls");
     if (
    mysql_num_rows($checkforpoll)==0){
        
    $date date("Y-m-d");
        
    mysql_query ("insert into polls (question, active,dateactive,votes) values ('$question','yes',$date,'0')");
        echo 
    "insert into polls (question, active,dateactive,votes) values ('$question','yes',$date,'0')

    "
    ;
     }
     else {

          
    mysql_query ("insert into polls (question, active,votes) values ('$_POST[question]','no','0')");
          echo 
    "insert into polls (question, active,votes) values ('$_POST[question]','no','0')

    "
    ;
     }
     
    $getpollid mysql_query("select id from polls where question='$_POST[question]' order by id desc limit 1");
     
    $getitid mysql_fetch_row($getpollid);
     
    $pollid $getitid[0];
     if(
    $_POST['alt']){ insert($_POST['alt'],$pollid);}
     if(
    $_POST['alt2']){ insert($_POST['alt2'],$pollid); }
     if(
    $_POST['alt3']){ insert($_POST['alt3'],$pollid); }
     if(
    $_POST['alt4']){ insert($_POST['alt4'],$pollid); }
     if(
    $_POST['alt5']){ insert($_POST['alt5'],$pollid); }
     if(
    $_POST['alt6']){ insert($_POST['alt6'],$pollid); }
     if(
    $_POST['alt7']){ insert($_POST['alt7'],$pollid); }
     if(
    $_POST['alt8']){ insert($_POST['alt8'],$pollid); }

     
    mysql_close($poll);
    }
    ?>

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