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

    header location e new line

    Ho un form con diversi campi input tra cui un campo di tipo text. All'invio eseguo un update in una tabella mysql, che riesce perfettamente in tutti i casi. Il problema si presenta quando subito dopo tento di cambiare pagina e passare i parametri tramite header. Se nel campo text inserisco una sola riga va tutto bene, se inserisco il testo su più righe, anche solo due, ottengo quest'errore:
    Warning: Header may not contain more than a single header, new line detected....

    [PHP]$stmt=$conn->prepare("INSERT INTO progetti (codice_progetto, anno_rif, committente, data_incarico, data_consegna, dettaglio_progetto, data_inserimento) VALUES (?,?,?,'$data_incarico','$data_consegna',?,now())" );
    $stmt->execute(array(strtoupper($_POST['progetto']), $_POST['anno_inc'], ucwords(strtolower($_POST['committente'])), $_POST['dettaglio_progetto']))or die("Errore");
    $insert_ok=1;
    $stmt = $conn->prepare("SELECT * FROM progetti WHERE codice_progetto=? ");
    $stmt->execute(array($_POST['progetto'])) or die("Errore");
    while ($row=$stmt->fetch()) {
    header('location:dettagli_progetto.php?insert_ok=' .$insert_ok.'&codp='.$row['codice_progetto'].'&commit='.htmlspecialchars(stripslashes ($row['committente']), ENT_QUOTES).'&dinc='.$row['data_incarico'].'&dcons='.$row['data_consegna'].'&dettp='.nl2br(htmlspecialchars(stripslashes ($ro

  2. #2
    Codice PHP:
    $stmt=$conn->prepare("INSERT INTO progetti (codice_progetto, anno_rif, committente, data_incarico, data_consegna, dettaglio_progetto, data_inserimento) VALUES (?,?,?,'$data_incarico','$data_consegna',?,now())");
    $stmt->execute(array(strtoupper($_POST['progetto']), $_POST['anno_inc'], ucwords(strtolower($_POST['committente'])), $_POST['dettaglio_progetto']))or die("Errore");
    $insert_ok=1;
    $stmt $conn->prepare("SELECT * FROM progetti WHERE codice_progetto=? ");
    $stmt->execute(array($_POST['progetto'])) or die("Errore");
    while (
    $row=$stmt->fetch()) {    
    header('location:dettagli_progetto.php?insert_ok='.$insert_ok.'&codp='.$row['codice_progetto'].'&commit='.htmlspecialchars(stripslashes ($row['committente']), ENT_QUOTES).'&dinc='.$row['data_incarico'].'&dcons='.$row['data_consegna'].'&dettp='.nl2br(htmlspecialchars(stripslashes ($row['dettaglio_progetto']), ENT_QUOTES)).'&id='.$row['id'].'');

    Aiutatemi per favore, non ne vengo a capo

  3. #3
    In realtà riesco ad aggirare l'errore, passando all'header solo due variabili
    Codice PHP:
    header('location:dettagli_progetto.php?insert_ok='.$insert_ok.'&codp='.$row['codice_progetto'].''); 
    e poi effettuare l'accesso al DB e la select per prelevare tutti gli altri dati, direttamente nel file di destinazione. Ma vorrei capire se esiste un modo per evitarlo.

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.