Visualizzazione risultati 1 fino 19 di 19

Discussione: Inserimento dati nelle relative colonne

  1. #1
    Guest

    Exclamation Inserimento dati nelle relative colonne

    Buon pomeriggio, sono qui in cerca di chiarimenti riguardo a un piccolo script che sto "creando" :

    Su mysql ho delle colonne di cui una particolare che uso per contenere il testo di una textarea.

    La sua impostazione è VARCHAR (8000) (Presa da un tutorial) e funziona quasi bene, il mio problema è che quando incomincio a scrivere un pochino di più del solito e premo il tasto "Invia" non mi carica c'ho che ho scritto.

    Cioè se ho un testo di 50 parole esso funziona e quindi vedo l'articolo pubblicato invece se supero quel tot il testo non viene manco caricato nel database e a sua volta non lo vedo nella index.

    Qualche consiglio?

    La mia versione di mysql è superiore alla 5.0.3 quindi posso inserire i varchar maggiori di 255.
    Altra cosa che ho provato è quella di mettere text al posto di varchar ma non va lo stesso.

    Buona serata.

  2. #2
    Guest

    Predefinito

    99% l'errore è nello script :)

    se hai dubbi sui varchar/text etc prova a caricare (molto testo) con phpmyadmin

    nota: se le prestazioni 'non contano' puoi usare pigramente text
    Ultima modifica di FormularioDiDrakensang : 20-07-2014 alle ore 23.33.58

  3. #3
    Guest

    Predefinito

    Si forse hai ragione il codice va "male", ho provato come hai detto tu dal database e mi viene pubblicato a dovere. A questo punto posto il codice per aiutarmi a capire cosa c'è di sbagliato.

    Codice PHP:
    <p>
    <form enctype="multipart/form-data" action="amministrazione.php" method="POST">
    <input type="text" id="titolo" name="titolo" placeholder="Inserisci il titolo" maxlength="30">
    <textarea id="name" name="tiny"></textarea><br>
    <label for="photo">Copertina DVD | Serie </label>
    &nbsp;&nbsp;&nbsp;<input type="file" name="photo" required><br><br>
    <input type="submit" value="Crea" >
    <?php

    //This is the directory where images will be saved
    if (!empty($_FILES['photo']['name'])) {


    $target = "../image/";
    $target = $target . basename( $_FILES['photo']['name']);

    //This gets all the other information from the form

    $tiny = @$_POST['tiny'];
    $titolo = @$_POST['titolo'];
    $pic= $_FILES['photo']['name'];


    $query = "INSERT INTO employees (titolo_art, testo_art, foto_art, data_art) VALUES ('$titolo', '$tiny', '$pic', now())" or die (mysql_error());

    //mysql_query richiede il risultato a $query mettendolo nella variante $result che se restituirà il valore “0″ vuol dire che la richiesta non è andata a buon fine altrimenti sarà tutto ok
    $result=mysql_query($query);

    //Writes the photo to the server
    if(move_uploaded_file($_FILES['photo']['tmp_name'], $target))
    {

    //Tells you if its all ok
    echo "Il file ". basename(isset($_FILES['uploadedfile']['name'])). " è stato caricato con successo";
    }
    else {

    //Gives and error if its not
    echo "Ci sono problemi con il caricamento del file.";
    }
    }
    ?>
    </form>

    </p>
    Mi sembra strano comunque che funzioni se scrivo poco e non se scrivo molto.

  4. #4
    Guest

    Predefinito

    prova un frammento come questo:

    <form enctype="multipart/form-data" action="#" method="POST">
    <textarea name = 'tiny'></textarea>
    <input type = submit>
    </form>

    <?php
    if (!isset($_POST['tiny'])) die();
    mysql_pconnect("localhost","user","pass");
    mysql_select_db("nome del db");
    $tiny = mysql_real_escape_string($_POST['tiny']);
    mysql_query("INSERT INTO employees (titolo_art, testo_art, foto_art, data_art) VALUES ('demo','".$tiny."','null','20140101')");
    ?>
    il 'testo' lungo puoi generarlo con lorem ipsum
    Ultima modifica di FormularioDiDrakensang : 21-07-2014 alle ore 00.16.22

  5. #5
    Guest

    Predefinito

    Così funziona...

    Devo aggiungere qualcosa al codice originale?

  6. #6
    Guest

    Predefinito

    il tempo di sistemare alcune cose sul mio sito e vedo come posso aiutarti :)

  7. #7
    Guest

    Predefinito

    Citazione Originalmente inviato da FormularioDiDrakensang Visualizza messaggio
    il tempo di sistemare alcune cose sul mio sito e vedo come posso aiutarti :)
    Va bene gentilissimo

  8. #8
    Guest

    Predefinito

    ok sorry per l'attesa

    // atzendei.php

    <style>
    body
    {
    text-align: center;
    }

    input, textarea
    {
    width: 400px;
    box-shadow: 4px 4px 5px gray;
    border-radius: 5px;
    padding: 10px;
    }

    textarea
    {
    height: 300px;
    }

    #photo
    {
    width: 245px;
    }
    </style>

    <br><br>
    <form enctype="multipart/form-data" action="#" method="POST">
    <input type="text" id="titolo" name="titolo" placeholder="Inserisci il titolo" maxlength="30"><br>
    <textarea id="name" name="tiny" placeholder="Inserisci descrizione"></textarea><br> <br>
    <label for="photo">Copertina DVD | Serie </label>
    &nbsp;&nbsp;&nbsp;<input type="file" id="photo" name="photo" required><br><br>
    <input type="submit" value="Crea" >
    </form>

    <?php

    if (empty($_FILES['photo']['name'])) die();

    $target = "image/";
    $target = $target . basename( $_FILES['photo']['name']);
    $tiny = mysql_real_escape_string($_POST['tiny']);
    $titolo = mysql_real_escape_string($_POST['titolo']);
    $pic = $_FILES['photo']['name'];
    $tiny = mysql_real_escape_string($_POST['tiny']);

    if (move_uploaded_file($_FILES['photo']['tmp_name'], $target)) echo "Il file <b>". basename($_FILES['photo']['name']). "</b> è stato caricato con successo";
    else die ("Ci sono problemi con il caricamento del file.");

    mysql_pconnect("localhost","user","pass");
    mysql_select_db("nome del db");
    mysql_query("INSERT INTO employees (titolo_art, testo_art, foto_art, data_art) VALUES('$titolo', '$tiny', '$pic', 'now()')");

    ?>
    // atzendei.php



    psst: rinomina la tabella xD
    Ultima modifica di FormularioDiDrakensang : 21-07-2014 alle ore 14.24.38

  9. #9
    Guest

    Predefinito

    Grazie per la disponibilità, ora funziona però c'è un problema con la data. Nella colonna sul database rimane "0000-00-00 00:00:0" Devo cambiare il tipo di data?

    Anzi ho risolto, grazie mille non so come ringraziarti HO notato ora che uno dei problemi era dato dalla chiusura del form dopo il codice. Ahimè...
    Ultima modifica di atzendei : 21-07-2014 alle ore 14.35.32 Motivo: Risolto

  10. #10
    Guest

    Predefinito

    cmq quando accetti dati dall'esterno il minimo è passarli a mysql_real_escape_string
    coma ti ho scritto sopra


    ciao!

  11. #11
    Guest

    Predefinito

    Ma come mai quanto utilizzo il tuo codice la mia grafica sparisce? :\

  12. #12
    Guest

    Predefinito

    buhahaha

    beh la prima parte del codice serve a dare questo aspetto al form



    con il codice che mi avevi mandato vedevo gli elementi incollati l'uno all'altro e facevo fatica a capire chi era cosa
    quindi mi sono preso la libertà di apportare qualche ritocco

    apparte questo if (empty($_FILES['photo']['name'])) die(); ferma la pagina se la foto non è stata inviata
    (condizione in cui ti trovi prima di inserire dati nel modulo)
    quindi se hai qualcosa dopo la chiusura del codice php è persa

    quando possibile evito di trascinarmi parentesi aperte per chilometri
    e di alternare sezioni in html ed in php
    Ultima modifica di FormularioDiDrakensang : 21-07-2014 alle ore 15.12.09

  13. #13
    Guest

    Predefinito

    Del tuo codice ho copiato solo il php.....aiuto

  14. #14
    Guest

    Predefinito

    se hai copiato solo la parte in php

    suggerisco 1. di inserirla alla fine della pagina
    2. ripeto:
    if (empty($_FILES['photo']['name'])) die();
    ferma la pagina se la foto non è stata inviata
    (condizione in cui ti trovi prima di inserire dati nel modulo ed aver premuto Crea)
    quindi se hai qualcosa dopo la chiusura del codice php è persa

    puoi cambiarla in
    if (!empty($_FILES['photo']['name'])) {

    blah bla blah

    }
    ma lo sconsiglio

    :)
    Ultima modifica di FormularioDiDrakensang : 21-07-2014 alle ore 15.26.17

  15. #15
    Guest

    Predefinito

    Provo e ti aggiorno (Y)


    Ciao ho fatto come mi hai detto tu e lo script funziona solo che ora il messaggio di avvenuto successo me lo mette sotto tutto il sito
    Ultima modifica di atzendei : 21-07-2014 alle ore 20.27.35 Motivo: Aggiornamento

  16. #16
    Guest

    Predefinito

    Ciao ho fatto come mi hai detto tu e lo script funziona solo che ora il messaggio di avvenuto successo me lo mette sotto tutto il sito
    ovvio se lo script è in fondo alla pagina scriverà da quel punto
    soluzione semplice metti - sopra, nella parte html con il form

    <div id = "esito"></div>

    mentre
    if (move_uploaded_file($_FILES['photo']['tmp_name'], $target)) echo "Il file <b>". basename($_FILES['photo']['name']). "</b> è stato caricato con successo";
    else die ("Ci sono problemi con il caricamento del file.");
    diventa
    if (move_uploaded_file($_FILES['photo']['tmp_name'], $target)) echo "<script>document.getElementById('esito').innerHTM L = 'Il file <b>". basename($_FILES['photo']['name']). "</b> è stato caricato con successo';</script>";
    else die ("<script>document.getElementById('esito').innerHT ML = 'Ci sono problemi con il caricamento del file.'</script>");

    oppure puoi visualizzare una finestrella con echo "<script>alert('qui ci va l errore')";

    se non t piace nessuna delle due puoi ritornare alla lunga parentesi


    In più quando scrivo testo formattato esso cambia la grafica del sito modificandone la struttura.
    non dovrebbe aver a che fare con il codice in php
    Ultima modifica di FormularioDiDrakensang : 21-07-2014 alle ore 20.40.41 Motivo: ... c'è sempre un motivo a volte display:none a volte h1 ...

  17. #17
    Guest

    Predefinito

    Ultima cosetta e poi aprirò un altra discussione a seconda della tua risposta:

    Devo mettere una barra di ricerca interna al sito per poterla fare devo aggiungere campi nel database o basta il titolo per esempio?

  18. #18
    Guest

    Predefinito

    se intendi : una ricerca full text in pagine statiche o comunque raggiungibili da qualche link sparso in giro puoi riciclare il motore di google senza altra fatica, questo tra l'altro ti aiuta a diventare popolare su google

    se intendi tra voglio cercare un dvd tra quelli inseriti con i form di cui sopra, in base a i parametri che preferisco nel db non manca niente

    devi solo scrivere la parte che cerca e (possibilmente) e metterla in un file a se


    il codice può essere semplice a piacere, es nello script di prima al posto di una insert fai select... e usi opportunamente gli operatori di zio boole per stabilire se vuoi cercare titolo e testo, titolo o testo etc etci
    Ultima modifica di FormularioDiDrakensang : 21-07-2014 alle ore 21.19.41

  19. #19
    Guest

    Predefinito

    Cercherò qualche "guida" online, se avrò problemi pubblicherò un 3D per aiuto, grazie mille per avermi aiutato

Regole di scrittura

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