Avatar billede langbein Nybegynder
11. august 2004 - 21:16 Der er 11 kommentarer og
1 løsning

Form leverer ikke data til formhandler ?

Har laget et lite script for å skrive inn til en mysql database, som jeg mener har virket tidligere (?)

Formen:

<HTML>
<HEAD>
<TITLE>HTML Form</TITLE>
</HEAD>
<BODY>
<FORM ACTION="HandleForm.php" METHOD=POST>
Navn: <INPUT TYPE=TEXT NAME="Array[navn]" SIZE=24>
Link: <INPUT TYPE=TEXT NAME="Array[link]" SIZE=50>
Kat: <INPUT TYPE=TEXT NAME="Array[kat]" SIZE=12>
Språk: <INPUT TYPE=TEXT NAME="Array[spr]" SIZE=6>
Pri: <INPUT TYPE=TEXT NAME="Array[pri]" SIZE=2>


<INPUT TYPE=SUBMIT NAME="SUBMIT" VALUE="Submit!">
</FORM>
</BODY>
</HTML>

Så form handleren:
<HTML>
<HEAD>
<TITLE>Inserting Data into a Database</TITLE>
</HEAD>
<BODY>
<?php
/* This page receives and handles the data generated by "form.html". */
// Trim the incoming data.

$Array["navn"] = trim ($Array["navn"]);
$Array["link"] = trim ($Array["link"]);
$Array["kat"] = trim ($Array["kat"]);
$Array["spr"] = trim ($Array["spr"]);
$Array["pri"] = trim ($Array["pri"]);


// Set the variables for the database access:
$Host = "localhost";
$User = "webstart";
$Password = "password";
$DBName = "webstart";
$TableName = "links";

$Link = mysql_connect ($Host, $User, $Password);

$Query = "INSERT into $TableName values ('0', '$Array[navn]', '$Array[link]', '$Array[kat]', '$Array[spr]', '$Array[pri]' )";


if (mysql_db_query ($DBName, $Query, $Link)) {
    print ("The query was successfully executed!<BR>\n");
} else {
    print ("The query could not be executed!<BR>\n");
}
mysql_close ($Link);
?>
</BODY>
</HTML>


Det som skjer nå er ad de dataene som legges inn forvinner samtidig som den skriver blanke linjer inn i databasen. Kan ikke helt fatte dette.

Sever: Fedora Core 2 + Apache 2 (Skulle det kunne være noe med konfigureringen ?? Brukte tidligere en litt eldre Linux server.)
(Skulle det kunne ha noen med PHP versjonene å gjøre ??)

Noen som har en ide ??

MVH Langbein
Avatar billede erikjacobsen Ekspert
11. august 2004 - 21:25 #1
Må jeg foreslå

  Navn: <INPUT TYPE=TEXT NAME="navn" SIZE=24>

og aflæsning med

  $navn = $_POST['navn'];
Avatar billede langbein Nybegynder
11. august 2004 - 21:29 #2
Imponerende hurtig svar .. Vil forsøke .. nå
Avatar billede detox Nybegynder
11. august 2004 - 21:34 #3
Og når du alligevel skal til at rette, kunne du ligeså godt lave det mere moderne:

Navn: <input type="text" name="navn" size="24" />

Små bogstaver, værdier omkranset af citationstegn og tagget afsluttes.
Avatar billede langbein Nybegynder
11. august 2004 - 21:41 #4
Får det ikke helt til å fungere .. Går det bra å overføre 4 enkeltvariabler i stedet for en array ??
Avatar billede erikjacobsen Ekspert
11. august 2004 - 21:43 #5
Du kunne evt vise os hvad du har ;)
Avatar billede langbein Nybegynder
11. august 2004 - 21:45 #6
Et øyeblikk roter litt nå .. litt kaotisk :)
Avatar billede langbein Nybegynder
11. august 2004 - 21:57 #7
Virkelig imponerende - flere kvelder alene uten å finne ut av det, så 10 min på eksperten. Det virker !! Kan dere legge svar ?!
Avatar billede erikjacobsen Ekspert
11. august 2004 - 21:58 #8
;) Det er kun en fornøjelse at hjælpe. Jeg samler ikke på point, tak.
Avatar billede langbein Nybegynder
11. august 2004 - 21:59 #9
Lar feilsøkings teksten ligge der inntill videre ..

<HTML>
<HEAD>
<TITLE>Inserting Data into a Database</TITLE>
</HEAD>
<BODY>
<?php
/* This page receives and handles the data generated by "form.html". */
// Trim the incoming data.

$navn = $_POST['navn'];
$link = $_POST['link'];
$kat = $_POST['kat'];
$spr = $_POST['spr'];
$pri = $_POST['pri'];


echo $navn . "<br>";
echo $link . "<br>";
echo $kat . "<br>";
echo $spr . "<br>";
echo $pri . "<br>";


$navn = trim ($navn);
$link = trim ($link);
$kat = trim ($kat);
$spr = trim ($spr);
$pri = trim ($pri);

echo $navn . "<br>";
echo $link . "<br>";
echo $kat . "<br>";
echo $spr . "<br>";
echo $pri . "<br>";



// Set the variables for the database access:
$Host = "localhost";
$User = "webstart";
$Password = "password";
$DBName = "webstart";
$TableName = "links";

$Link = mysql_connect ($Host, $User, $Password);

$Query = "INSERT into $TableName values ('0', '$navn', '$link', '$kat', '$spr', '$pri' )";


if (mysql_db_query ($DBName, $Query, $Link)) {
    print ("The query was successfully executed!<BR>\n");
} else {
    print ("The query could not be executed!<BR>\n");
}
mysql_close ($Link);
?>
</BODY>
</HTML>
Avatar billede langbein Nybegynder
11. august 2004 - 22:10 #10
Takker så mye og legger ut det ferdige resultatet på basis av veiledningen i tilfelle det er noen som kan bruke det. Det er jo et ganske generelt oppsett som kan brukes til en hel del mht php/mysql ..

Formen for data ut/inn:

<HTML>
<HEAD>
<TITLE>HTML Form</TITLE>
</HEAD>
<BODY>
<FORM ACTION="HandleForm.php" METHOD=POST>
Navn: <INPUT TYPE=TEXT NAME="navn" SIZE=24>
Link: <INPUT TYPE=TEXT NAME="link" SIZE=50>
Kat: <INPUT TYPE=TEXT NAME="kat" SIZE=12>
Språk: <INPUT TYPE=TEXT NAME="spr" SIZE=6>
Pri: <INPUT TYPE=TEXT NAME="pri" SIZE=2>
<INPUT TYPE=SUBMIT NAME="SUBMIT" VALUE="Submit!">
</FORM>
</BODY>
</HTML>



"Handleren" som opererer mot databasen:

<HTML>
<HEAD>
<TITLE>Inserting Data into a Database</TITLE>
</HEAD>
<BODY>
<?php
/* This page receives and handles the data generated by "form.html". */

$navn = $_POST['navn'];
$link = $_POST['link'];
$kat = $_POST['kat'];
$spr = $_POST['spr'];
$pri = $_POST['pri'];

$navn = trim ($navn);
$link = trim ($link);
$kat = trim ($kat);
$spr = trim ($spr);
$pri = trim ($pri);

// Set the variables for the database access:
$Host = "localhost";
$User = "webstart";
$Password = "password";
$DBName = "webstart";
$TableName = "links";

$Link = mysql_connect ($Host, $User, $Password);

$Query = "INSERT into $TableName values('0', '$navn', '$link', '$kat', '$spr', '$pri' )";


if (mysql_db_query ($DBName, $Query, $Link)) {
    print ("The query was successfully executed!<BR>\n");
} else {
    print ("The query could not be executed!<BR>\n");
}
mysql_close ($Link);
?>
</BODY>
</HTML>


:)
Avatar billede langbein Nybegynder
20. august 2004 - 23:16 #11
Her fikk jeg glimrende hjelp og det fungerte, men ingen ville visst ha pointsene ..
Avatar billede langbein Nybegynder
20. august 2004 - 23:16 #12
.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester