Avatar billede seb11 Nybegynder
26. september 2005 - 19:11 Der er 16 kommentarer og
1 løsning

Hjælp med php/mysql

Dav eksperter.

Jeg har et spørgsmål omkring PHP/mysql. Jeg har lavet en database i mysql der hedder "jokes". I den har jeg to tabeller. En der hedder "navn" og en der hedder "joken".

Mit problem er så at jeg skal kunne indsætte et navn og en joke via en FORM på en hjemmside. Altså sådan at man kan udfylde et felt der hedder navn. Og udfylde et felt der hedder joke, med en joke. Derefter skal man kunne trykke send. Og det skal så sendes til databasen.

Mit spørgsmål lyder altså
- Hvordan skal jeg bære mig ad med det?

MVH. Sebastian
Avatar billede nielle Nybegynder
26. september 2005 - 19:26 #1
Har du brugere på din side? Altså, skal folk logge ind for at kunne poste jokes eller kan enhver person blot angive et tilfældigt navn for hver joke?
Avatar billede seb11 Nybegynder
26. september 2005 - 19:39 #2
Nej så langt er jeg ikke kommet endnu. Det skal bare være helt simpelt. Altså hvordan man indsætter noget i en database via en form
Avatar billede nielle Nybegynder
26. september 2005 - 19:43 #3
Hvis du ikke har noget bruger-begreb så synes jeg at du simpelthen skal starte med at slå de to tabeller sammen til én tabel, sådan at navnet blot er en del af de omlysninger du har om joken.
Avatar billede seb11 Nybegynder
26. september 2005 - 19:47 #4
Ja ups. Jeg har skrevet forkert.

Jeg har lavet 1 tabel, med 2 felter i.
Avatar billede nielle Nybegynder
26. september 2005 - 19:52 #5
Ok så. Hvordan ser din form ud?
Avatar billede seb11 Nybegynder
26. september 2005 - 19:54 #6
Ja jeg er en "newbie" så faktisk er det en del af spørgsmålet. Men jeg går udfra den skal se nogenlunde sådan ud:

<form action="XXXX.php" method="post">
Indtast dit navn: <input type="text" name="navn">
<p>
Indtast din joke: <input type="text" name="joke">
<p>
<input type="submit" value="Send din joke">
</form>
Avatar billede nielle Nybegynder
26. september 2005 - 20:01 #7
Ja, den ser meget pæn ud brotset fra at du bør bruge <br> i stedet for <p>. Endvidere bør du også give din submit-kanp et navn idet det gør den videre kode lidt nemmere at have med at gøre:

<form action="XXXX.php" method="post">
Indtast dit navn: <input type="text" name="navn"><br>
Indtast din joke: <input type="text" name="joke"><br>
<input type="submit" name="submitKnap" value="Send din joke">
</form>
Avatar billede seb11 Nybegynder
26. september 2005 - 20:05 #8
Okay så til det næste punkt. Her er jeg rimelig lost. Det eneste jeg ved, er at php koden skal indholde et sted hvor jeg connecter til min mysql database.
Avatar billede nielle Nybegynder
26. september 2005 - 20:08 #9
Scriptet XXX.php

<?
if (isset($_POST["submitKnap"]))
{
    $conn = mysql_connect("dinMysqlServer", "dinMysqlBruger", "ditMysqlPassword") or die(mysql_error());
    mysql_select_db("dinDatabase")) or die(mysql_error());

    $sql = "INSERT INTO dinJokesTabel (navnm joke) VALUES ('" . $_POST["navn"] . "', '" . $_POST["joke"] . ')";
    mysql_query($sql) or die(mysql_error());
}
?>

Læs mere om database-kommandoerne her:

http://dk2.php.net/mysql_fetch_assoc
Avatar billede seb11 Nybegynder
26. september 2005 - 20:20 #10
Den giver mig en fejl. Du kan prøve her http://fodboldnews.1go.dk/phpside/skrivjoke.htm
-----------------------------------------------
Her er min kode jeg har brugt.

skrivjoke.htm
<form action="joke.php" method="post">
Indtast dit navn: <input type="text" name="navn"><br>
Indtast din joke: <input type="text" name="joke"><br>
<input type="submit" name="submitKnap" value="Send din joke">
</form>

joke.php
<?
if (isset($_POST["submitKnap"]))
{
    $conn = mysql_connect("...", "...", "...") or die(mysql_error());
    mysql_select_db("...") or die(mysql_error());

    $sql = "INSERT INTO jokes (navnm joke)) VALUES ('" . $_POST["navn"] . "', '" . $_POST["joke"] . ')";
    mysql_query($sql) or die(mysql_error());
}
?>
Avatar billede nielle Nybegynder
26. september 2005 - 20:30 #11
Jeg forstår ikke lige hvordan den kan medlde fejl i linje 11 når der kun er 10 linjer. Mangler du ikke at vise noget.

Desuden skal denne her:

$sql = "INSERT INTO jokes (navnm joke)) VALUES ('" . $_POST["navn"] . "', '" . $_POST["joke"] . ')";

- rettes til:

$sql = "INSERT INTO jokes (navn, joke) VALUES ('" . $_POST["navn"] . "', '" . $_POST["joke"] . ')";
Avatar billede seb11 Nybegynder
26. september 2005 - 20:32 #12
Det undrede jeg mig også over, for der er kun 10 linjer.

Prøver lige at rette det du har skrevet.
Avatar billede nielle Nybegynder
26. september 2005 - 20:33 #13
... endnu en rettelse:

$sql = "INSERT INTO jokes (navn, joke) VALUES ('" . $_POST["navn"] . "', '" . $_POST["joke"] . "')";
Avatar billede seb11 Nybegynder
26. september 2005 - 20:34 #14
Det var meget mærkeligt, den giver mig stadig fejlen. Men der er kun 10 linjer.
Avatar billede seb11 Nybegynder
26. september 2005 - 20:38 #15
Sådan der, så virkede det. Efter jeg rettede din sidste rettelse, skrev den at den ikke kunne finde den collum der hed "joke". Men det var fordi jeg havde kaldt den jokes i min database. Men nu er det hele rettet og den har indsat oplysningerne i min database.

Mange tak for hjælpen. Lav lige et svar så du kan få point.
Avatar billede nielle Nybegynder
26. september 2005 - 20:40 #16
Svar :^)
Avatar billede nielle Nybegynder
26. september 2005 - 20:43 #17
Takker for point :^)
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