Avatar billede webweaver Praktikant
29. november 2004 - 14:18 Der er 7 kommentarer og
1 løsning

Problemer med INSERT

Hej folkens...

Jeg har denne kode:

<?
               
        $db = mysql_connect("........", "..........", ".............");
        mysql_select_db(".....", $db);
        if($_POST['skriv']) {
        $dato = strftime("%d/%m-%Y&nbsp;%T", time());
        $ip = $_SERVER["REMOTE_ADDR"];
        $dato = $dato_array["mday"] . "/" . $dato_array["mon"] . "-" . $dato_array["year"] . "&nbsp;" . $dato_array["hours"] . ":" . $dato_array["minutes"] . ":" . $dato_array["seconds"];
        mysql_query("INSERT INTO profil (brugernavn, kodeord, fornavn, efternavn, nickname, birthday, email, mobil, msn, icq, avatar, dato, ip) VALUES ('$_POST[brugernavn]',$_POST[kodeord]''$_POST[fornavn]','$_POST[efternavn]','$_POST[nickname]','$_POST[birthday]','$_POST[email]',$_POST[mobil]','$_POST[msn]','$_POST[icq]','$_POST[avatar]','$dato','$ip')");
   
        }       
        ?>

<form method=post action="oprettet.php" enctype="multipart/form-data">
        <input type=hidden name=skriv value=1>
        Username:<br>
        <input class="class" type=text name="brugernavn" size="30"><br>
        Password:<br>
        <input class="class" type=password name="kodeord" size="35"><br>
        First name:<br>
        <input class="class" type=text name="fornavn" size="30"><br>       
        Last name:<br>
        <input class="class" type=text name="efternavn" size="30"><br>
        Nick-name:<br>
        <input class="class" type=text name="nickname" size="30"><br>
        Birthday:<br>
        <input class="class" type=text name="birthday" size="30"><br>
        E-mail:<br>
        <input class="class" type=text name="email" size="30"><br>
        Cell phone:<br>
        <input class="class" type=text name="mobil" size="30"><br>
        MSN:<br>
        <input class="class" type=text name="msn" size="30"><br>
        ICQ:<br>
        <input class="class" type=text name="icq" size="30"><br>
        Avatar:<br>
          <input class="class" type="file" name="upfil" size="30" />
        <br>
        <input class="class" type="reset" value="Start forfra">
        <input class="class" type="submit" value="Opret profil">
        </form>

Men problemet er bare når jeg klikker på opret prfil så sender den en videre som den skal, men dataen bliver ikke gemt i databasen. Den forbliver bare fuldstændig tom.

Håber der er en af Jer som kan få øje på fejlen? Jeg har efterhånden stirret mig blind, så den er sikkert lige foran øjnene på mig! :P¨

Mange tak! :D
Avatar billede erikjacobsen Ekspert
29. november 2004 - 14:24 #1
Du har rod i stroffer og kommaer i denne linie:

('$_POST[brugernavn]',$_POST[kodeord]''$_POST[fornavn]','$_POST[efternavn]','$_POST[nickname]','$_POST[birthday]','$_POST[email]',$_POST[mobil]','$_POST[msn]','$_POST[icq]','$_POST[avatar]','$dato','$ip')");

Ret til

('$_POST[brugernavn]','$_POST[kodeord]',$_POST[fornavn]','$_POST[efternavn]','$_POST[nickname]','$_POST[birthday]','$_POST[email]',$_POST[mobil]','$_POST[msn]','$_POST[icq]','$_POST[avatar]','$dato','$ip')");

og husk ALTID noget i retning af

  mysql_query("....") or die(mysql_error());
Avatar billede erikjacobsen Ekspert
29. november 2004 - 14:25 #2
Ikke helt nok ;)

('$_POST[brugernavn]','$_POST[kodeord]','$_POST[fornavn]','$_POST[efternavn]','$_POST[nickname]','$_POST[birthday]','$_POST[email]',$_POST[mobil]','$_POST[msn]','$_POST[icq]','$_POST[avatar]','$dato','$ip')");
Avatar billede webweaver Praktikant
29. november 2004 - 22:12 #3
Det virker desværre ikke, og jeg forstår det ikke. Den kommer ikke med nogen fejlmeddelser og nu har jeg sat en or die ind. Og databasen forbliver stadig tom ligemeget hvad. Hvad kan det så være af problemer?

Er der nogen fejl her: ?

<?
$db = mysql_connect("..........", "...........", ".............");
mysql_select_db(".........", $db);
if($_POST['skriv']) {
$dato = strftime("%d/%m-%Y&nbsp;%T", time());
$ip = $_SERVER["REMOTE_ADDR"];
$dato = $dato_array["mday"] . "/" . $dato_array["mon"] . "-" . $dato_array["year"] . "&nbsp;" . $dato_array["hours"] . ":" . $dato_array["minutes"] . ":" . $dato_array["seconds"];
mysql_query("INSERT INTO profil (brugernavn, kodeord, fornavn, efternavn, nickname, birthday, email, mobil, msn, icq, avatar, dato, ip) VALUES ('$_POST[brugernavn]','$_POST[kodeord]','$_POST[fornavn]','$_POST[efternavn]','$_POST[nickname]','$_POST[birthday]','$_POST[email]','$_POST[mobil]','$_POST[msn]','$_POST[icq]','$_POST[avatar]','$dato','$ip')") or die(mysql_error());

}       
?>
Avatar billede erikjacobsen Ekspert
29. november 2004 - 23:38 #4
Og koden står i oprettet.php?
Avatar billede webweaver Praktikant
30. november 2004 - 00:54 #5
Nej koden står i en fil som hedder profil.php og når man klikker "opret profil", så sender den en videre til oprettet.php og i den fil står der bare:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Du er nu oprettet i systemet</title>
</head>

<body>

</body>
<?
Echo "Du er nu oprettet i systemet"
?>
</html>

Kan man ikke gøre det sådan?
Avatar billede erikjacobsen Ekspert
30. november 2004 - 09:47 #6
Nej. Koden til indsættelse i databasen skal stå i den fil der står i Action-parameteren.
Avatar billede webweaver Praktikant
01. december 2004 - 00:16 #7
Okay, tak det vidste jeg ikke. Men jeg løste mit problem på en anden måde. Jeg bruger bare: <form method=post action="<?php echo $_SERVER['PHP_SELF'];?>"> i stedet for. Men tak for hjælpen! :D
Avatar billede erikjacobsen Ekspert
01. december 2004 - 09:15 #8
;) Men det er jo sådan set også det jeg foreslår. Koden står nu i den fil, der står
i Action-parameteren - ganske vist den samme, men det er jo også godt nok...
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
Computerworld tilbyder specialiserede kurser i database-management

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