Visualizzazione dei risultati da 1 a 6 su 6

Discussione: problema tasto invio

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    22

    problema tasto invio

    salve ragazzi,
    premetto che sono alle primissime armi col php...
    ho creato un form per inserire dei dati in un DB mysql.
    recupero il campo di input 'titolo' anche per creare una nuova cartella con mkdir() in modo da organizzare in cartelle tutti i dati che andrò ad inserire nel DB (per non far confusione con foto, testi, ecc.)
    se però scrivo il titolo dell'articolo su più righe e vado a capo premendo invio mi da un errore:

    Warning: mkdir() [function.mkdir]: Invalid argument in C:\Programmi\EasyPHP 3.0\www\website_image\prova\ricevi form.php on line 53


    cioè, mi inserisce correttamente il record nel db , ma non mi crea la cartella... come potrei risolvere?

  2. #2
    ci deve essere qualche errore per come hai scritto la mkdir(),prova a postare il codice...

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    22
    mi sa che ho il codice che ho scritto è un pò incasinato, ma sono ancora alle prime armi col php...
    ecco il codice:

    <?php

    $host= "localhost";
    $user= "root";
    $password= "pass";
    $db= "articoli";

    $conn= mysql_connect($host, $user, $password)
    or die ("Impossibile connettersi al DB");

    mysql_select_db ($db, $conn) or die ("Impossibile selezionare il DB");

    $query= "insert into articoli_and_tab (Nome,Cognome,Argomento,Titolo,Sottotitolo,Testo,N ote,Commenti) VALUES
    (' "
    . $_REQUEST['Nome'] . "','"
    . $_REQUEST['Cognome'] . "','"
    . $_REQUEST['Argomento'] . "','"
    . $_REQUEST['Titolo'] . "','"
    . $_REQUEST['Sottotitolo'] . "','"

    . $_REQUEST['Testo'] . "','"
    . $_REQUEST['Note'] . "','"
    . $_REQUEST['Commenti'] .
    "') ";

    $result= mysql_query($query, $conn);

    if (!$result)
    {
    die("query non valida: " . mysql_error());
    }else{

    $caratteri_da_sostituire = array("'"," ", "\\", "?", "/", '"', ":","*", "<", ">", "|", "=");
    $nome_dir = str_replace($caratteri_da_sostituire, "_", $_REQUEST['Titolo']);

    $nome_dir_definitiva = "../Archivio_Articoli/" . $nome_dir;

    if (file_exists("C:\Programmi\EasyPHP 3.0\www\website_image\Archivio_Articoli/" . $nome_dir_definitiva))
    {
    $nome_dir_definitiva .= time();

    mkdir($nome_dir_definitiva);
    print("Articolo inserito con successo
    ");

    }else{

    mkdir($nome_dir_definitiva);

    print("Articolo inserito con successo
    ");
    }
    }


    ?>


    Grazie E.d.i.73 per la risposta tempestiva...
    Naturalmente è ben accetta qualsiasi correzione!
    ciao

  4. #4
    prova a fare il var_dump di $_REQUEST['Titolo'] per vedere se ha valore..

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    22
    e.d.i., scusa se ti rispondo solo ora...
    non credo che sia un problema del mkdir...
    se inserisco un titolo qualsiasi, senza premere il tasto invio, non mi dà nessun problema: mi carica il record sul db e mi crea la cartella tranquillamente.
    in ogni caso il var_dump() funziona, mi restituisce il tipo di variabile del $_REQUEST, che è una

    string(6) "titolo"

    quindi la legge. mi sa che devo disabilitare la pressione del tasto invio per evitare casini...

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    22
    risolto.

    ho sostituito la textarea con un input type="text" nel form;

    poi ho disabilitato il tasto invio inserendo nel tag form

    onsubmit="return false"

    ed infine questo è il tag del bottone di invio

    <input type="button" name="Submit" value="Inserisci l'articolo" onclick = "document.form1.submit()">

    ho seguito l'articolo di html.it

    http://xhtml.html.it/faq/leggi/154/p...l-tasto-enter/

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.