- Home
- Categorie
- Coding e Sistemistica
- PHP
- php il database e il form nn vanno d'accordo
-
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>xxxxxxxx:x
-
Hai provato a settare action con il nome stesso del file?
-
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..
-
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.
-
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à
-
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
-
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.
-
@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?
-
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)
-
si l'ho corretto..
Ma non è che è un errore che dipende dalla tabella?
-
Potrebbe anche essere, proviamo a vedere la struttura della tabella.
-
-- 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 tabellasquadre
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..
-
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!
-
in tal caso cosa dovrei fare??
-
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.
-
Io uso easyphp..e pur abilitando tutte le estensioni..non funziona..e mi sembra strano..