Avatar billede t-rex Nybegynder
02. november 2004 - 18:58 Der er 9 kommentarer og
1 løsning

skriv data i db

hej gutter. i skal lige vide at jeg er total nybegynder til php og mysql. men der må være en nemmer løsning end det her.


<?php

    if($opret == "opret")
    {
    //opretter forbindelse til database
    $user="xxxxxxxx";
    $pass="xxxxxxxx";
    @mysql_connect("localhost", $user, $pass) or die("Der kunne ikke oprettes forbindelse til databasen");
    @mysql_select_db("xxxxxxxxx") or die("Databasen kunne ikke findes");

    @mysql_query("
    INSERT INTO kunde (kundenr,firma,addresse,postnr,firmatlf,kontakt,tlf,mail)
    VALUES ('$_GET[kundenr]','$_GET[firma]','$_GET[addresse]','$_GET[postnr]','$_GET[firmatlf]','$_GET[kontakt]','$_GET[tlf]','$_GET[mail]')") or die("Der er sket en fejl. Fejl: ".mysql_error());
       
    print "<html>\n";
    print "kunden er oprettet\n";
    print "<script language=\"javascript\" type=\"text/javascript\">\n";
    print "\tsetTimeout('window.location.href = \"default.php\";', 2000);\n";
    print "</script>\n";
    print "</html>";
       
       
      }

?>
Avatar billede delphinarious Nybegynder
02. november 2004 - 18:59 #1
Næhhh.. Altså, du kan da rydde lidt op i din kode, men bortset fra det, så har du jo øverst koden der skaber forbindelse til databasen - den kan jo ikke undværes, og dernæst har du et ganske almindeligt SQL-insert... Det kan sq ikke gøres meget kortere... Men som sagt; du kan ryde lidt op i koden...
Avatar billede hmortensen Nybegynder
02. november 2004 - 19:08 #2
Du kan erstatte det her:
print "<html>\n";
    print "kunden er oprettet\n";
    print "<script language=\"javascript\" type=\"text/javascript\">\n";
    print "\tsetTimeout('window.location.href = \"default.php\";', 2000);\n";
    print "</script>\n";
    print "</html>";

med header("location: default.php"); men så mister du den timeout der er.
Avatar billede t-rex Nybegynder
02. november 2004 - 19:57 #3
det gåt ikke hmortensen for har brug for de 2 sek hvor den skriver kunden er oprettet..
Avatar billede expnet Seniormester
02. november 2004 - 20:09 #4
$output = "<html>";
$output .= "kunden er oprettet";
$output .= "<script>setTimeout('location.href =default.php', 2000);</script>";
$output .= "</html>";

echo $output;
Avatar billede delphinarious Nybegynder
02. november 2004 - 20:14 #5
expnet >> Hov hov - det er jo ikke validerbar HTML!?
Avatar billede galle2 Nybegynder
02. november 2004 - 20:17 #6
t-rex >> Det er rigtigt hvad de andre skriver, du kan nok ikke fjerne så meget af koden.
Men du kunne måske gøre det mere overskueligt og enklere ved, at ligge al koden til at forbinde til databasen i en funktion som f.eks. hedder ConnectDatabase(). Så er du fri for at skulle skrive det hver gang du skal have fat i db'en - for det er jo nok ikke sidste gang du skal det...... og husk iøvrigt at lukke forbindelsen til databasen når du er færdig - det er normal kotume....
Avatar billede expnet Seniormester
02. november 2004 - 20:21 #7
delphinarious >> ok nu :D

$output = "<html>\n";
$output .= "kunden er oprettet\n";
$output .= "<script language=\"javascript\" type=\"text/javascript\">setTimeout('window.location.href=\"default.php\"', 2000);</script>\n";
$output .= "</html>";

echo $output;
Avatar billede delphinarious Nybegynder
02. november 2004 - 20:21 #8
galle2 >> Aaaaaahhh kotume og kotume at lukke til en mysql-forbindelse.. Jeg ved ikke...

Altså, det er da afgjort det mest rigtige, men jeg har immervæk kodet PHP prof. for virksomheder i 2½ år, og jeg tror ikke jeg har gjort det en eneste gang. Samtidigt tror jeg heller ikke der er ret mange der gør det. Så kotume og kotume - men altså fair play - selvfølgeligt er det mest rigtigt - bare hamrende upraktisk. :-)
Avatar billede t-rex Nybegynder
02. november 2004 - 20:27 #9
hmm har også en fil der hedder mysql.php hvor forbindelsen ligger i. det er bare nemmer at stille spøgsmål på denne måde. men tak for rådende...
Avatar billede delphinarious Nybegynder
02. november 2004 - 20:30 #10
t-rex >> Altså, for lige at samle tråden op igen; Hvad er der du ikke bryder dig om ved den kode, du har?

Altså personligt, ville jeg nok vælge at lægge alle form-værdierne i variabler, så jeg kunne behandle dem, inden jeg smed dem i databasen... Men det er jo bare smag og behag, og vil ende med flere liniers kode.. Så altså.. Jeg forstår ikke rigtigt, hvad du er utilfreds med?
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