Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Problema co nun form

  1. #1

    Problema co nun form

    Salve a tutti.
    Sto cercando di imparare a gestire un database mysql con il php grazie alle guide del sito ma sono giunto a un problemone.
    Dunque eccolo a voi:

    Come indicato nelle lezioni che si trovano qua ho creato questi due file
    insert.php

    <?
    include ("config.inc.php");
    include ("top_foot.inc.php");

    //intestazione
    top();
    ?>

    <form method=post action=save.php>
    Nome Carta

    <input type=text size=40 name=Nome>





    Colore

    <input type=text size=40 name=Colore>





    Edizione

    <input type=text size=40 name=Edizione>



    Rarità

    <input type=text size=40 name=Rarità>



    Quantità

    <input type=text size=40 name=Quantità>



    Password:

    <input type=password size=40 name=pass>



    <input type=submit value=Invia> </form>
    <?
    // chiusura pagina
    foot();
    ?>


    save.php

    <? include("top_foot.inc.php");
    include("config.inc.php");
    top();
    if (pass != $password):
    echo "Password errata";
    elseif (trim(Nome) == "" OR trim(Edizione) == "" OR trim(Quantità) == "" OR trim(Rarità) == "" OR trim(Colore) == ""):
    echo "Tutti i campi devono essere riempiti!";
    else:
    $Nome = addslashes(stripslashes($Nome));
    $Colore = addslashes(stripslashes($Colore));
    $Edizione = addslashes(stripslashes($Edizione));
    $Rarità = addslashes(stripslashes($Rarità));
    $Quantità = addslashes(stripslashes($Quantità));
    $Nome = str_replace("<", "&lt;", $Nome);
    $Nome = str_replace(">", "&gt;", $Nome);
    $testo = nl2br($testo);
    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
    $query = "INSERT INTO carte (Nome, Colore, Edizione, Rarità, Quantità) VALUES ('$Nome', '$Colore', '$Edizione', '$Rarità', '$Quantità')";
    if (mysql_query($query, $db))
    echo "La carta è stata inserita correttamente";
    else
    echo "Erorre durante l'inserimento";
    mysql_close($db); endif;
    foot();
    ?>


    ho creato la tabella nel mio databse eettato in modo opportuno il config.inc.php.

    Provo a far funzionare questo form inserendo un record di prova ed ottengo che mi dice:

    : Use of undefined constant pass - assumed 'pass' in c:\program files\easyphp1-7\www\save.php on line 4
    Password errata


    (le password ovviamente combaciano)
    Se io tolgo il controllo della password il codice gira per ben due righe in più, dandomi questo errore


    Notice: Use of undefined constant Nome - assumed 'Nome' in c:\program files\easyphp1-7\www\save.php on line 6

    Notice: Use of undefined constant Edizione - assumed 'Edizione' in c:\program files\easyphp1-7\www\save.php on line 6

    Notice: Use of undefined constant Quantità - assumed 'Quantità' in c:\program files\easyphp1-7\www\save.php on line 6

    Notice: Use of undefined constant Rarità - assumed 'Rarità' in c:\program files\easyphp1-7\www\save.php on line 6

    Notice: Use of undefined constant Colore - assumed 'Colore' in c:\program files\easyphp1-7\www\save.php on line 6

    Notice: Undefined variable: Nome in c:\program files\easyphp1-7\www\save.php on line 9

    Notice: Undefined variable: Colore in c:\program files\easyphp1-7\www\save.php on line 10

    Notice: Undefined variable: Edizione in c:\program files\easyphp1-7\www\save.php on line 11

    Notice: Undefined variable: Rarità in c:\program files\easyphp1-7\www\save.php on line 12

    Notice: Undefined variable: Quantità in c:\program files\easyphp1-7\www\save.php on line 13

    Notice: Undefined variable: testo in c:\program files\easyphp1-7\www\save.php on line 16
    La carta è stata inserita correttamente


    Inserendomi nel Database un record vuoto.

    dove sbaglio???Non riesco a trovare l'errore!!!!
    La pagina la faccio girare in locale dove ho installato Easyphp 1.7

  2. #2
    Utente di HTML.it L'avatar di xPilux
    Registrato dal
    Jul 2004
    Messaggi
    103
    l'errore è:
    Use of undefined constant Nome

    perchè ti sei dimenticato il $ dove scrivi

    Codice PHP:
    ... (trim(Nome)... 
    devi scrivere:


    Codice PHP:
    ... (trim($Nome)... 
    e cosi x le altre...se non sbaglio!
    Ho letto un po di fretta...fammi sapere se è giusto!

  3. #3
    Io direi che sarà meglio aggiungere anche $_POST['nome'] dato che se hai register_globals a off allora nn adnrebbe.

    se hai dunque:
    trim(nome)

    metti:
    trim($_POST['nome'])

  4. #4
    Grazie mille!!!
    Risolto grazie al vostro aiuto!!!

    Però ora ho un'altra domanda:

    Inserisco i dati nel database, però ora voglio anche poterli cercare attraverso un motore di ricerca. Non sono riuscito a trovare niente di simile al mio, e non riesco ad adattare il motore di ricerca che si trova nelle guide proposte da html.it.

    In pratica io vorrei avere un motore di ricerca a più campi (Nome, Edizione, Colore) e che non pretendo mi vada a cercare il contenuto di un campo a partire da parole incomplete.

    Ho creato questa pagina search.php

    <form method=post action=result.php>
    Nome carta

    <input type=text name=cnome><input type=submit value=cerca>

    </form>
    <form method=post action=result.php>
    Edizione

    <input type=text name=cedizione><input type=submit value=cerca>

    </form>
    <form method=post action=result.php>
    Colore

    <input type=text name=ccolore><input type=submit value=cerca>

    </form>


    che funziona anche se vorrei avere un tasto di ricerca unico e non uno per ogni campo

    La pagina result.php è questa


    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    $keys = explode (",", $_POST['cnome']);

    $query = "";
    reset ($keys);
    while (list(,$parola) = each ($keys))
    { $parola = trim($parola);
    if ($parola != "")
    $query .= "titolo LIKE '%$parola%' OR testo LIKE '%$parola%' OR autore LIKE '%$parola%' OR ";
    }
    $query .= "0";

    $query = "SELECT Nome, Colore, Edizione, Rarità, Quantità FROM carte WHERE " . $query;

    $result = mysql_query($query, $db);
    while ($row = mysql_fetch_array($result))
    { echo "<a href=\"view.php?id=$row[Nome]\">" . " - $row[Colore]) " . " - $row[Edizione] " . " - $row[Rarità] " . " - $row[Quantità] </a>
    "; }


    e non va niente qua, mi da il seguente errore
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-7\www\result.php on line 26


    Cosa sbaglio?

  5. #5

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.