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

    Form con dati troppo lunghi

    Salve a tutti.
    Sto facendo uno script per poter scrivere su file di testo tramite form.
    il mio script va abbastanza bene.... l'unico problema me lo da quando nel form inserisco dati troppo lunghi.
    In pratica quando clicco sul pulsante "invia" non mi fa niente e i form rimangono li. Se però i miei dati non sono relativamente lunghi.... non ho problemi.
    Come faccio? ve lo posto

    index.html
    Codice PHP:
    <html>
    <
    head>
    <
    title>Pannello di controllo</title>
    <
    link rel="stylesheet" href="../stile.css" type="text/css">

    </
    head>
    <
    body>
    <
    center>
    <
    table width=600

    <
    tr><td align="center" background="../sfondo.jpg"><font color="#ffffff" size="5">[b]:: PANNELLO DI CONTROLLO ::[/b]</font></td></tr>

    <
    tr><td>

        <
    form method=get action="verifica.php">
        
    [
    b]TITOLO[/b]

        <
    input type="text" name="titolo" size="40">
        
    [
    b][i]Anteprima[/i][/b]

        <
    input type="text" name="anteprima" size="80">
        

    Editoriale

        
    <textarea name="articolo" rows="15" cols="80"></textarea> </p>
        
    Immagine

        
    <input type="text" name="immagine" size="20">
        

        <
    input type="submit" value="Invia">
        <
    input type="reset" value="Cancella">
        </
    form>

    </
    dt></tr>

    <
    tr><td><center>:: [url="../admin/prova.html"]Home[/url] ::</center></td></tr
    <
    tr><td height="10" width="400" bgcolor="#cccccc"> </td></tr>

    </
    table>
    </
    body>
    </
    html
    verifica.php
    Codice PHP:
    <?php

    echo "<center>";
    echo 
    "Ciao ecco i risultati del tuo inserimento:";
    $errorefalse;

    If((!
    $_GET['titolo']) || (!$_GET['anteprima']) || (!$_GET['articolo']) || (!$_GET['immagine'])) {
    #controllo che nessun campo sia vuoto
    $errore=true;
    echo 
    "Non hai compilato tutti i campi <a href=\"uno.html\">torna indietro</a>";
    exit;
        }
    else {
    $_GET['titolo'] = stripslashes($_GET['titolo']);
    $_GET['anteprima'] = stripslashes($_GET['anteprima']);
    $_GET['articolo'] = stripslashes($_GET['articolo']);
    $_GET['titolo'] = str_replace("\n""
    "
    $_GET['titolo']);
    $_GET['anteprima'] = str_replace("\n""
    "
    $_GET['anteprima']);
    $_GET['articolo'] = str_replace("\n""
    "
    $_GET['articolo']);

    }

    #controllo che il file sia accessibile 
    if (!$apri fopen ("file.txt","a+")) {
    $errore=true;
    echo 
    "non posso aprire il file";
    }else{
    $apriw fopen ("file.txt","a+");

    # Sul file scrivo titolo e vado a capo,l'anteprima e vado a capo
    # l'articolo e vado a capo e il nome dell'immagine
    fputs($apriw,$_GET['titolo']."\n");
    fputs($apriw,$_GET['anteprima']."\n");
    fputs($apriw,$_GET['articolo']."\n");
    fputs($apriw,$_GET['immagine']."\n");
    #chiudo il file
    fclose($apriw);
    }
    #se c'e l'errore mi dice di inserirli di nuovo altrimenti mi fa leggere gli annunci
    if($errore){
    echo
    "
     Riinseriscili per favore
    "
    ;
    }
    else{
    echo 
    "
     <a href=\"news.php\">leggi gli annunci</a>"
    ;
    }
    ?>
    news.php
    Codice PHP:
    <?php

    echo "Ecco i vostri annunci
    "
    ;
    if (!
    $apri fopen("file.txt","r")){
    echo 
    "Non posso aprire il file";
    }else{
    #Se il file si può leggere allora con un ciclo while
    # leggo tutte le righe del mio file

    while(!feof($apri)){
    #memorizza gli annunci in leggo che adesso è un vettore
    $leggo["titolo"][] = fgets($apri,4096);
    $leggo["anteprima"][] = fgets($apri,4096);
    $leggo["articolo"][] = fgets($apri,4096);
    $leggo["linea"][] = fgets($apri,4096);
    }

    # Conta il numero di annunci
    $numero=count($leggo["titolo"])-1;

    #fa il ciclo for al contrario dall'ultimo al primo
    for($i=$numero-1;$i>=$numero-5;--$i)
    {
     echo 
    " <table><tr><td bgcolor=#0392e0><h3><font color=#ffffff>".$leggo["titolo"][$i]."</font></h3></td></tr>";
     echo 
    ' <tr><td>[url="annunci.php?number='.$i.'"]'.$leggo["anteprima"][$i].'[/url]</td></tr></table>';
     
    }

    }
    fclose($apri);

    ?>
    All'inizio pensavo che il problema fosse la funzione gets che legge massimo 4096 byte.... però, appunto LEGGE!! io invece non riesco proprio a scrivere dati lunghi

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Non saprei... comunque, modificherei il form (in post) e se ti aspetti dati "lunghi" usa textarea
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    USO textarea

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