Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Session che non ritorna valore

    Ciao a tutti,
    sto impazzendo su un problema sicuramente dovuto all'inesperienza con la gestione delle sessioni (e con PHP in generale) e spero possiate aiutarmi

    Ho questo form per i commenti di un blog in cui sto tentando di inserire un captcha e che richiama un file captcha_code_file.php in cui è presente una sessione che dovrebbe restituirmi per il confronto ciò che viene inserito nel campo del captha ($_SESSION['6_letters_code'])..
    Parrebbe però che quest'ultimo mi venga restituito vuoto...inoltre sul log, mi dà l'errore

    PHP Notice: Undefined variable: errors in blcommform.php on line 18

    Dove sbaglio?
    Grazie mille.
    Ultima modifica di fabrizioBrOnAv; 25-07-2017 a 21:02

  2. #2
    [code]

    codice:
    <?php
    // file di configurazione database
    @include "bl_config.php";
    
    
    if(isset($_POST['submit'])){
    
      if(empty($_SESSION['6_letters_code'] ) ||
        strcasecmp($_SESSION['6_letters_code'], $_POST['6_letters_code']) != 0)
      {
          //Note: the captcha code is compared case insensitively.
          //if you want case sensitive match, update the check above to
          // strcmp()
        $errors .= "n The captcha code does not match!";
    
      }    
      if(empty($errors))
      {    
    
      if(isset($_POST['autore'])){
        $autore = addslashes($_POST['autore']);
      }
      if(isset($_POST['website'])){
        $website = addslashes($_POST['website']);
      }  
      if(isset($_POST['testo'])){
        $testo = addslashes($_POST['testo']);
      }
      if(isset($_POST['id'])){
        $com_art = addslashes($_POST['id']);
      }
    
    
      $sql = "INSERT INTO commenti (com_autore, com_website, com_testo, com_art, com_data, com_ora) VALUES ('$autore', '$website', '$testo', '$com_art',now(),now())";
      
    
      if (@mysql_query($sql) or die (mysql_error())){
        header("Refresh:0; url=blog_art.php?id=$com_art");
      }
    }else{echo $errors;} 
    }else{
      if(isset($_GET['id'])&&(is_numeric($_GET['id']))){
        $com_art = addslashes($_GET['id']);
        $sql = "SELECT art_id FROM articoli WHERE art_id='$com_art'";
        $query = @mysql_query($sql) or die (mysql_error());
        if(mysql_num_rows($query) > 0){
          // se non sono stati inviati dati dal form mostriamo il modulo per l'inserimento
          ?>
    
    
                                    <form action="blcommform.php" method="post" id="postCommentForm">
                                        <div class="row">
                                            <div class="col-md-4">
                                                <input type="text" name="autore" placeholder="Nome" class="form-control" />
                                            </div>
                                          <!--  <div class="col-md-4">
                                                <input type="email" name="email" placeholder="E-mail" class="form-control" />
                                            </div>-->
                                            <div class="col-md-4">
                                                <input type="text" name="website" placeholder="Sito web" class="form-control" />
                                            </div>
                                        </div>
                                        <div class="row">
                                            <div class="col-md-12">
                                                <textarea cols="30" name="testo" rows="6" placeholder="Testo" class="form-control"></textarea>
                                            </div>
                                        </div>
                                        <div class="row">
                                            <div class="col-md-12">
                                                <input name="data" type="hidden" value="<?php echo $data; ?>">
                                                <input name="ora" type="hidden" value="<?php echo $ora; ?>">
                                                <input name="id" type="hidden" value="<?php echo $com_art; ?>"><br>
                                                
    
    <label for="message">Inserisci il codice che vedi di fianco :</label>
    <input id="6_letters_code" name="6_letters_code" type="text">
    &ensp; <img src="captcha_code_file.php?rand=<?php echo rand(); ?>" id="captchaimg" >                                            
    
                                                <input name="submit" type="submit" value="Invia" class="form-control submit-btn" />
                                            </div>
                                        </div>
                                    </form>
    
          <?
          // se l'id dell'articolo non esiste o non è numerico inviamo delle notifiche
        }else{
          echo "Impossibile inserire un commento.";
        }
      }else{
        echo "Impossibile inserire un commento.";
      }
    }
    
    ?>
    metto il codice qua, la modifica messaggio non funziona un granché bene........ :/

  3. #3
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Metti session_start() ad inizio script ?

    $error .= '...'

    Ti da errore visto che $error non è definita da nessuna parte. Quindi definiscilo ad inizio codice:
    Codice PHP:
    <?php
    @include '...';

    $error '';

    ...

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.