• User Newbie

    php il database e il form nn vanno d'accordo

    Salve a tutti...volevo una delucidazione..sto creando un modello dove attraverso un form riempio un database..il mio problema è che quando vado ad insererire il nome nel texfield del form..il database me lo ignora..cioè quando consulto la tabella mi conteggia il record ma non riporta il valore da me impostato..vi prego aiutatemi..

    questo è il codice:

    <html>
    <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <?php
    //file di configurazione
    require 'config.php';
    //file di connessione mysql
    require 'connetti.php';
    if (!$_POST){
    inserisci_squadra();
    }
    else{
    mostra_form() ;
    }
    function inserisci_squadra()
    {
    $nuova_squadra = trim($_POST['nuovasquadra']);

    $query="INSERT INTO squadre (Nome_squadra) VALUES('$nuova_squadra')";
    $result=mysql_query($query);

    if (!$result){
    die ("errore nella query: $query" .mysql_error());
    }
    $messaggio=urlencode('http://127.0.0.1/prova');
    header ('location '.$_SERVER['PHP_SELF'].'$msg='.$messaggio);
    }
    function mostra_form()
    {
    if (isset($_GET['msg']))
    echo '<b>'.htmlentities($_GET['msg']).'</b>';
    ?>

    <?php
    }
    ?>
    <body>
    INSERISCI LA SQUADRA NEL DATABASE..
    <form name="inserisci_formazione method="post" action="">
    <label>
    Inserisci_squadra: <input name="nuovasquadra" type="text">
    </label>
    <input name="Invia" type="submit" value="invia"/>
    </form>

    </body>
    </html>

    ❌x❌x❌x❌x❌x❌x❌x❌x:x


  • Super User

    Hai provato a settare action con il nome stesso del file?


  • User Newbie

    Ho provato ma non va...il campo nome_squadra resta comunque vuoto..a me il codice sembra buono..dov'è l'errore!!

    Ps Da qualke parte ho letto che se il codice php è il form sono nello stesso file è inutile settare action..


  • Moderatore

    Prova con questa query:
    [php]
    $query="INSERT INTO squadre (Nome_squadra) VALUES("" . $nuova_squadra . "")";
    [/php]
    Se non va allora prova mettendo tutti i valori per ogni campo della tabella.


  • User Newbie

    Ci avevo pensato, per questo motivo la mia tabella è formata da un sola colonna..cioè nome_squadra, per seguire il tuo consiglio ho messo anche un nuovo campo, cioè l'id facendola diventare chiave primaria...comunque non va!

    PER LA CRONACA SE C'è UNA SOLA COLONNA è PROPRIO PERCHE' VOGLIO CERCARE DI CAPIRE COSA CE CHE NON VA..

    Grazie ancora x la disponibilità


  • User Newbie

    Notice: Undefined index: nuovasquadra in c:\programmi\easyphp1-8\www\prova\tmp9wvd7l49e2.php on line 34

    Warning: Cannot modify header information - headers already sent by (output started at c:\programmi\easyphp1-8\www\prova\tmp9wvd7l49e2.php:6) in c:\programmi\easyphp1-8\www\prova\tmp9wvd7l49e2.php on line 45

    questi è l'output che ho con quel codice..magari ora sapete dirmi qualcosa in piu...

    inutile dirvi che il form appare correttamente


  • Moderatore

    Se hai provato anche qualcosa tipo questa (che in un mio sito funziona perfettamente) con la tabella squadre che ha un'unica colonna:
    [PHP]
    $query="INSERT INTO squadre VALUES("" . $nuova_squadra . "")";
    [/PHP]
    allora potrebbe essere qualcosa nel resto del codice. Tipo la creazione della variabile. In tal caso magari prova a postarci il codice completo.


  • User Newbie

    @BIGROS said:

    Notice: Undefined index: nuovasquadra in c:\programmi\easyphp1-8\www\prova\tmp9wvd7l49e2.php on line 34

    infatti dice ke la variabile non è stata definita..per prova l'ho anche definita prima di compliarla nel form ma il notice resta li..
    per codice completo cosa intendi?..quella è l'unica pagina che serve..o no?


  • Moderatore

    questa
    [HTML]<form name="inserisci_formazione method="post" action="">[/HTML]
    l'hai già corretta così vero?
    [HTML]<form name="inserisci_formazione" method="post" action="nome_di_questa_stessa_pagina.php">[/HTML]

    Al momento non vedo altro di strano :bho: (a parte gli apici singoli che spesso danno problemi anche a me, ecco perchè ti ho indicato la soluzione con quelli doppi backstubbati)


  • User Newbie

    si l'ho corretto..

    Ma non è che è un errore che dipende dalla tabella?


  • Moderatore

    Potrebbe anche essere, proviamo a vedere la struttura della tabella.


  • User Newbie

    -- phpMyAdmin SQL Dump
    -- version 2.6.1
    -- http://www.phpmyadmin.net

    -- Host: localhost
    -- Generato il: 14 Lug, 2007 at 02:17 PM
    -- Versione MySQL: 4.1.9
    -- Versione PHP: 4.3.10

    -- Database: totoamici


    --
    -- Struttura della tabella squadre

    CREATE TABLE squadre (
    Nome_squadra varchar(60) default NULL,
    Id int(11) NOT NULL auto_increment,
    PRIMARY KEY (Id)
    ) TYPE=MyISAM PACK_KEYS=0 AUTO_INCREMENT=8 ;

    e questo è quanto..


  • Moderatore

    A questo punto mi sorge un atroce dubbio...hai testato lo script on line? Vuoi vedere che il problema è nel server locale?
    Scusami se non ho una risposta certa ma la pagina è corretta se la uso su un host di un mio sito! 😞


  • User Newbie

    in tal caso cosa dovrei fare??


  • Moderatore

    Uppi lo script e il database su uno spazio dove sia supportato php e MySql e testi il tutto. Ad esempio www.altervista.org può essere una soluzione economica ed efficace.


  • User Newbie

    Io uso easyphp..e pur abilitando tutte le estensioni..non funziona..e mi sembra strano..