Avatar billede snapstinget Nybegynder
26. maj 2002 - 16:37 Der er 13 kommentarer og
1 løsning

Problemer med skrivning til mysql-database...HJÆLP!

Hejsa.

Så er den gal igen! :o)

Er der nogen, der kan se, hvad der er galt her?

KODE TIL SIDEN, DER AFSENDER DATA (FORM.HTML):

<html>
<head>
    <title>indlaeg</title>
    <base target="iframe">
    <link rel="stylesheet" type="text/css" href="text.css">
</head>

<body>
<form action="indlaeg.php" method="post">
    <fieldset>
        <legend>Dit indlæg</legend><br>
            <div>
                <label for="t1">Navn:</label><br><input type="text" name="array[navn]" id="t1"><br>
                <label for="t2">Kommentar:</label><br><textarea name="array[kommentar]" id="t2" rows="5" cols="100"></textarea><br>
            </div>
        </fieldset>
        <div>
            <input type="submit" value="Send" name="send" id="submit">
            <input type="reset" value="Slet alt" name="slet" id="reset">
        </div>
</form>


</body>
</html>

KODE TIL SIDEN, DER SKAL SKRIVE TIL DB'EN (INDLAEG.PHP) :

<html>
<head>
    <title>indlaeg.php</title>
    <base target="iframe">
    <link rel="stylesheet" type="text/css" href="text.css">
</head>

<body>
<?php
//Denne side modtager og behandler de data, der er indskrevet i og således genereret af "form.html".

//Unødige mellemrum eller blank spaces fjernes med trim()-funktionen:
$array["navn"] = trim ($array["navn"]);
$array["kommentar"] = trim ($array["kommentar"]);

//Definér variabler til database adgang:
$host = "...";
$user = "...";
$pass = "...";
$db = "...";
$table = "gbog";

$link = mysql_connect ($host, $user, $pass);

$query = "INSERT into $table values (' ', '$array[navn]', '$array[kommentar]')";

print ("Query er:<br> $query\n");

if (mysql_db_query ($db, $query, $link)){
    print ("Query'en blev udført!<br>\n");
    } else {
    print ("Query'en blev IKKE udført!<br>\n");
    }
   
mysql_close ($link);

?>

</body>
</html>

Adgangsoplysninger kender JEG naturligvis :o)


/Anders.
Avatar billede tipsen Nybegynder
26. maj 2002 - 16:50 #1
Hvilken fejl er det du har problemer med?
Avatar billede erikjacobsen Ekspert
26. maj 2002 - 16:54 #2
I din form

name="navn"  og  name="kommentar"

og så kun $navn og $kommentar i den anden
Avatar billede snapstinget Nybegynder
26. maj 2002 - 16:56 #3
Tjek inde på siden:
http://www.design-addict.dk/batonrouge/

inde i gæstebogen er der mulighed for at skrive et indlæg. dette skal lagres i databasen, men det vil den ikke..? Aner ikke, hvad der er galt!

PS. Se lige bort fra udseendet på skrive-indlæg-siden :o) Ikke færdig med css'en endnu...

/Anders.
Avatar billede snapstinget Nybegynder
26. maj 2002 - 16:58 #4
erik >>
"...og så kun $navn og $kommentar i den anden...", skriver du. Hvilken anden?
Avatar billede erikjacobsen Ekspert
26. maj 2002 - 16:59 #5
Den anden er vel indlaeg.php
Avatar billede snapstinget Nybegynder
26. maj 2002 - 17:02 #6
nårh! :o)

beklager. er sq lidt forvirret efterhånden. prøver lige.

det vil altså sige alle forekomster i koden af "$array[navn/kommentar]" skal ændres til blot "navn/kommentar"?
Avatar billede snapstinget Nybegynder
26. maj 2002 - 17:07 #7
Hmmm... lægger lige den "revidere" kode ind igen.

FORM.HTML:
<body>
<form action="indlaeg.php" method="post">
    <fieldset>
        <legend>Dit indlæg</legend><br>
            <div>
                <label for="t1">Navn:</label><br><input type="text" name="navn" id="t1"><br>
                <label for="t2">Kommentar:</label><br><textarea name="kommentar" id="t2" rows="5" cols="100"></textarea><br>
            </div>
        </fieldset>
        <div>
            <input type="submit" value="Send" name="send" id="submit">
            <input type="reset" value="Slet alt" name="slet" id="reset">
        </div>
</form>


</body>

INDLAEG.PHP:
<body>
<?php
//Denne side modtager og behandler de data, der er indskrevet i og således genereret af "form.html".

//Unødige mellemrum eller blank spaces fjernes med trim()-funktionen:
$navn = trim ($navn);
$kommentar = trim ($kommentar);

//Definér variabler til database adgang:
$host = "...";
$user = "...";
$pass = "...";
$db = "...";
$table = "gbog";

$link = mysql_connect ($host, $user, $pass);

$query = "INSERT into $table values (' ', '$navn', '$kommentar')";

print ("Query er:<br> $query\n");

if (mysql_db_query ($db, $query, $link)){
    print ("Query'en blev udført!<br>\n");
    } else {
    print ("Query'en blev IKKE udført!<br>\n");
    }
   
mysql_close ($link);

?>

Virker stadig ikke...
Avatar billede snapstinget Nybegynder
26. maj 2002 - 17:53 #8
Anyone? :o)

Det ville være en STOR hjælp, eftersom koden gerne skulle fungere imorgen tidlig...
Avatar billede Slettet bruger
26. maj 2002 - 18:06 #9
Din query er vist gal:

$query = "INSERT INTO $table (felt1, felt2, felt3) VALUES (' ', '$navn', '$kommentar')";
Avatar billede Slettet bruger
26. maj 2002 - 18:10 #10
felt1, 2 og 3 skal skiftes ud md navnene på felterne i din database!

P.S. Hvad er idéen med at indsætte ' ' i det første felt?
Avatar billede snapstinget Nybegynder
26. maj 2002 - 18:11 #11
bingo bongo, mester! :o) nu er der fest i databasen...

TAK - igen ;o)
Avatar billede Slettet bruger
26. maj 2002 - 18:12 #12
Så lidt! :)

Håber du får en god udtalelse for dit projekt!
Avatar billede snapstinget Nybegynder
26. maj 2002 - 18:13 #13
skal nok nævne dig i kode-kommentarerne ;o)
Avatar billede Slettet bruger
27. maj 2002 - 14:17 #14
Det behøver du ikke!

Men du må gerne lige sige, hvad du fik for din opgave, når du får din respons!
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