Avatar billede s0mmer Nybegynder
20. november 2003 - 21:07 Der er 19 kommentarer og
1 løsning

Fejl i opret kode

Hey.. Har en lille smart opret kode, problemet er at når jeg tester den og går i min db, har den bare i felterne brugernavn og password skrevet: O, og nej der er ingen fejl i db'en da det har virket. Fejlen ligger i koden. Her har i den:

<font face="verdana" size="1">
<?
include("db_con.php4");

if($opret)
{
$db->ExecSQL("INSERT INTO login (brugernavn,password)VALUES('".$opret["brugernavn"]."','".$opret["password"]."')");
echo "Din bruger er oprettet";
}

?>
</font>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>


<form method="post">
<table width="257" height="89" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td width="100"><font face="verdana" size="1">Brugernavn:</font></td>
    <td width="157"> <input name="brugernavn" type="text" id="brugernavn"></td>

  </tr>
  <tr>
    <td><font face="verdana" size="1">Password:</font></td>
    <td><input name="password" type="text" id="password"></td>
 
  </tr>
  <tr>
    <td><form method="post"><input name="opret" type="submit" id="opret" value="Opret">

  </tr>
</table>
</form>
<p>&nbsp;</p>
</body>
</html>

Ka i se fejlen?
Avatar billede nikolajdu Nybegynder
20. november 2003 - 21:10 #1
$db->ExecSQL("INSERT INTO login (brugernavn,password)VALUES('".$_POST["brugernavn"]."','".$_POST["password"]."')");
Avatar billede exp Juniormester
20. november 2003 - 21:10 #2
Prøv

if(isset($_POST['opret']) {
$db->ExecSQL("INSERT INTO login (brugernavn,password)VALUES('".$_POST["brugernavn"]."','".$_POST["password"]."')");
echo "Din bruger er oprettet";
}

istedet
Avatar billede ztyxx Nybegynder
20. november 2003 - 21:11 #3
<font face="verdana" size="1">
<?
include("db_con.php4");

if($_POST["opret"])
{
$db->ExecSQL("INSERT INTO login (brugernavn,password)VALUES('".$_POST["brugernavn"]."','".$_POST["password"]."')");
echo "Din bruger er oprettet";
}

?>
</font>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>


<form method="post">
<table width="257" height="89" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td width="100"><font face="verdana" size="1">Brugernavn:</font></td>
    <td width="157"> <input name="brugernavn" type="text" id="brugernavn"></td>

  </tr>
  <tr>
    <td><font face="verdana" size="1">Password:</font></td>
    <td><input name="password" type="text" id="password"></td>
 
  </tr>
  <tr>
    <td><form method="post"><input name="opret" type="submit" id="opret" value="Opret">

  </tr>
</table>
</form>
<p>&nbsp;</p>
</body>
</html>
Avatar billede nikolajdu Nybegynder
20. november 2003 - 21:11 #4
nåja manglede $POST["opret"] øverst...
Avatar billede ztyxx Nybegynder
20. november 2003 - 21:14 #5
hehe, jeg havde sq ikke lige set at i gutter havde været her....
nå men sådan er der så meget

BTW nikolajdu, synes at det er længe siden at jeg har "set" dig her
Avatar billede exp Juniormester
20. november 2003 - 21:15 #6
ztyxx >>
Sad lige tidligere idag og tænkte det samme :-)
Avatar billede s0mmer Nybegynder
20. november 2003 - 21:16 #7
det er faktisk begge rigtigt, men nikolajdu var først, så hvis du gider indsende et svar så ka du lige få dine point.

- forresten. i bestemmer selv om i vil hjælpe, men hvordan får jeg den til at skrive til id cellen. Den skal jo ligesom tage den bruger der blev oprettet før den der er igang med at blive oprettet og så lægge 1 til. Så kommer det nye id. Id'erne ska bare være det nummer de er blevet oprettet.
Avatar billede nikolajdu Nybegynder
20. november 2003 - 21:18 #8
ej da vi kan da dele :))

Det er rigtigt jeg ikke har været så meget på - Arbejder pt på højtryk for en ny netværksløsning herhjemme så jeg surfer retor old-styler 56 k mode - De koster sgu penge. Har lige fået en regning for de sidste 3 uger på 650 kr....

:))
Avatar billede exp Juniormester
20. november 2003 - 21:19 #9
Det er der ingen idé i, da den gemmer med seneste id i databasen, såfremt du sender en tom variabel OG feltet er sat til auto_increment
Avatar billede s0mmer Nybegynder
20. november 2003 - 21:22 #10
ok i deler, exp send lige et svar så :)

exp - dvs. at hvis jeg sætter min kode til at sende til id, altså sende noget som faktisk ikke er sat, så lagrer den automatisk id'et?
Avatar billede nikolajdu Nybegynder
20. november 2003 - 21:24 #11
Nej du sender ikke Id med - Du sætter feltet id i databasen til at have "ekstra" auto_increment - Så tæller den selv 1 op for hver ny bruger.
Avatar billede s0mmer Nybegynder
20. november 2003 - 21:29 #12
aah ok, men når jeg prøver får jeg flg. fejl:

#1063 - Incorrect column specifier for column 'id'
Avatar billede nikolajdu Nybegynder
20. november 2003 - 21:33 #13
id skal være af felttypen "int" og du skal på ingen måder sætte den - Det sker helt automatisk hver gang en ny bruger trækker et nummer.
Avatar billede s0mmer Nybegynder
20. november 2003 - 21:35 #14
Jep har jeg sat den til nu, nu får jeg fejl:

#1075 - Incorrect table definition; There can only be one auto column and it must be defined as a key
Avatar billede nikolajdu Nybegynder
20. november 2003 - 21:40 #15
Du skal også lige sætte hak af i "primær" radiobutton når opretter.

ALTER TABLE `brugere` ADD `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY
Avatar billede s0mmer Nybegynder
20. november 2003 - 21:43 #16
ye så kører det. tak for hjælpen!
Avatar billede exp Juniormester
20. november 2003 - 22:22 #17
Hmm... nå så nåede jeg det ikke. Men godt det virker :-)
Avatar billede nikolajdu Nybegynder
20. november 2003 - 22:32 #18
troede ikke man havde en chance for at score lidt point med 56k herinde ;-))
Avatar billede exp Juniormester
20. november 2003 - 22:33 #19
hehe
Avatar billede ztyxx Nybegynder
21. november 2003 - 21:54 #20
nikolajdu> så fik du da scoret noget *LOL*
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