Avatar billede Slettet bruger
06. april 2006 - 20:02 Der er 26 kommentarer og
1 løsning

skrive til database

Hej..
Jeg har en form hvor jeg godt vil have det instastede gemt ien databasa (mysql)
Jeg kan selv lave selve html formen men mysql'en mangler jeg...
formen ser sådanet ud..


<form name="form1" method="post" action="oprettet.php">
  <p>Brugernavn:<br>
  <input name="brugernavn" type="text">
  </p>
  <p>Adgangskode:<br>
  <input name="adgangskode" type="password">
  </p>
  <p>Navn:
  <input type="text" name="navn">
  </p>
  <p>Alder:
  <input type="text" name="alder">
  </p>
  <p>Fødselsdag:
  <input type="text" name="foedsel">
  </p>
  <p>Bopæl:
  <input type="text" name="by">
  </p>
  <p>
    <input name="submit" type="submit" value="Opret">|<input type="reset" name="reset">
  </p>
  </form>
Avatar billede michael_stim Ekspert
06. april 2006 - 20:38 #1
<?php
if (isset($_POST['submit'])){
$conn = mysql_connect("XXX", "XXX", "XXX") or die(mysql_error());
mysql_select_db("databasenavn") or die(mysql_error());
$brugernavn=$_POST['brugernavn'];
$adgangskode=$_POST['adgangskode'];
$navn=$_POST['navn'];
$alder=$_POST['alder'];
$foedsel=$_POST['foedsel'];
$by=$_POST['by'];
mysql_query("INSERT INTO tabelnavn (brugernavn,adgangskode,navn,alder,foedsel,`by`) VALUES('".$brugernavn."','".$adgangskode."','".$navn."','".$alder."','".$foedsel."','".$by."'") or die(mysql_error());
?>
Avatar billede michael_stim Ekspert
06. april 2006 - 20:38 #2
Hov mangler lige en } för ?>
Avatar billede michael_stim Ekspert
06. april 2006 - 20:43 #3
Der er en OK begynderguide på http://www.webcafe.dk/artikler/php/
Når du så har fået lidt mere styr på det, er www.php.net uundvärligt.
Avatar billede Slettet bruger
06. april 2006 - 21:03 #4
hmm.. Nu ser koden sådan her ud.
<?php
include("connect.php")
if (isset($_POST['submit'])){
$brugernavn=$_POST['brugernavn'];
$adgangskode=$_POST['adgangskode'];
$navn=$_POST['navn'];
$alder=$_POST['alder'];
$foedsel=$_POST['foedsel'];
$by=$_POST['by'];
mysql_query("INSERT INTO nickin_brugere (brugernavn,adgangskode,navn,alder,foedsel,`by`) VALUES('".$brugernavn."','".$adgangskode."','".$navn."','".$alder."','".$foedsel."','".$by."'") or die(mysql_error());
}?>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="form1" method="post" action="oprettet.php">
  <p>Brugernavn:<br>
  <input name="brugernavn" type="text">
  </p>
  <p>Adgangskode:<br>
  <input name="adgangskode" type="password">
  </p>
  <p>Navn:
  <input type="text" name="navn">
  </p>
  <p>Alder:
  <input type="text" name="alder">
  </p>
  <p>Fødselsdag:
  <input type="text" name="foedsel">
  </p>
  <p>Bopæl:
  <input type="text" name="by">
  </p>
  <p>
    <input name="submit" type="submit" value="Opret">|<input type="reset" name="reset">
  </p>
  </form>
</body>
</html>

men den skriver:

Parse error: parse error, unexpected T_IF in /var/www/hotserv.dk/users/musiklirstest/opret.php on line 3
Avatar billede michael_stim Ekspert
06. april 2006 - 21:35 #5
Du skal have semikolon efter include("connect.php")
Avatar billede michael_stim Ekspert
06. april 2006 - 21:36 #6
Og så ved jeg selvfölgelig ikke om dine felter i tabellen hedder det som jeg havde skrevet ;o)
Avatar billede Slettet bruger
06. april 2006 - 21:42 #7
Jo for du har vist brugt det som jeg skrev da jeg oprettede spøgsmållet..
Men den gemmer det ikk?
Avatar billede michael_stim Ekspert
06. april 2006 - 21:45 #8
Ingen fejl?
Hvordan ser din tabel ud?
Avatar billede Slettet bruger
06. april 2006 - 21:49 #9
Nej den mælder ikke nogen fejl..

Tabellen:


  id  int(11)    Nej    auto_increment             
  brugernavn  varchar(255) utf8_general_ci  Nej                 
  adgangskode  varchar(255) utf8_general_ci  Nej                 
  navn  varchar(255) utf8_general_ci  Nej                 
  alder  varchar(255) utf8_general_ci  Nej                 
  foedsel  varchar(255) utf8_general_ci  Nej                 
  by  varchar(255) utf8_general_ci  Nej                 
  billede  varchar(255) utf8_general_ci  Nej                 
  point  varchar(255) utf8_general_ci  Nej  50               
  Rang  varchar(255) utf8_general_ci  Nej  Bruger               
  logintid  varchar(255) utf8_general_ci  Nej                 
  sidstset  varchar(255) utf8_general_ci  Nej
Avatar billede Slettet bruger
06. april 2006 - 21:53 #10
Men hvorfor skal der være ' ' rundt om by?
Avatar billede michael_stim Ekspert
06. april 2006 - 21:56 #11
Pröv at skrive din sql ud.
$indsaet="INSERT INTO nickin_brugere (brugernavn,adgangskode,navn,alder,foedsel,`by`) VALUES('".$brugernavn."','".$adgangskode."','".$navn."','".$alder."','".$foedsel."','".$by."')";
echo $indsaet;
//mysql_query($indsaet) or die(mysql_error());
Avatar billede michael_stim Ekspert
06. april 2006 - 21:56 #12
Fordi det er et reserveret ord.
Avatar billede michael_stim Ekspert
06. april 2006 - 21:59 #13
Men hvis de der "nej" er at den ikke accepterer null, bliver du nöd til at udfylde dem også eller sätte dem til at acceptere null.
Avatar billede Slettet bruger
06. april 2006 - 22:11 #14
Jeg har lavet en fil hvor der står :
<?php include('connect.php');
indsaet="INSERT INTO nickin_brugere (brugernavn,adgangskode,navn,alder,foedsel,`by`)
VALUES('".$brugernavn."','".$adgangskode."','".$navn."','".$alder."','".$foedsel."','".$by."')";
echo $indsaet;
//mysql_query($indsaet) or die(mysql_error());
?>
men der skriver den:

Parse error: parse error, unexpected '=' in /var/www/hotserv.dk/users/musiklirstest/dd.php on line 2
Avatar billede Slettet bruger
06. april 2006 - 22:23 #15
Hov manglede en $ i starten.. men nu skriver den bare:
INSERT INTO nickin_brugere (brugernavn,adgangskode,navn,alder,foedsel,`by`) VALUES('','','','','','')
Avatar billede michael_stim Ekspert
06. april 2006 - 22:27 #16
den får ikke fat i dine variabler.
Avatar billede Slettet bruger
06. april 2006 - 22:29 #17
Hva gør jeg så?
Avatar billede Slettet bruger
06. april 2006 - 22:38 #18
Når men jeg går i seng nu.. men håber du lige vil hjælpe mig igennem i morgen.;D
Avatar billede michael_stim Ekspert
07. april 2006 - 20:55 #19
Den kan jeg ikke lige gennemskue. Jeg får fint variablerne med når jeg tester herhjemme??
Avatar billede Slettet bruger
07. april 2006 - 20:56 #20
Hmm
Avatar billede michael_stim Ekspert
07. april 2006 - 21:30 #21
<?php
include("connect.php");
if (isset($_POST['submit'])){
$brugernavn=$_POST['brugernavn'];
$adgangskode=$_POST['adgangskode'];
$navn=$_POST['navn'];
$alder=$_POST['alder'];
$foedsel=$_POST['foedsel'];
$by=$_POST['by'];
$indsaet="INSERT INTO nickin_brugere (brugernavn,adgangskode,navn,alder,foedsel,`by`) VALUES('".$brugernavn."','".$adgangskode."','".$navn."','".$alder."','".$foedsel."','".$by."')";
mysql_query($indsaet) or die(mysql_error());
}
?>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="form1" method="post" action="test_ex.php">
  <p>Brugernavn:<br>
  <input name="brugernavn" type="text">
  </p>
  <p>Adgangskode:<br>
  <input name="adgangskode" type="password">
  </p>
  <p>Navn:
  <input type="text" name="navn">
  </p>
  <p>Alder:
  <input type="text" name="alder">
  </p>
  <p>Fødselsdag:
  <input type="text" name="foedsel">
  </p>
  <p>Bopæl:
  <input type="text" name="by">
  </p>
  <p>
    <input name="submit" type="submit" value="Opret">|<input type="reset" name="reset">
  </p>
  </form>
</body>
</html>

Pröv at klippe og klistre denne. Den virker hjemme hos mig.
Avatar billede Slettet bruger
09. april 2006 - 13:36 #22
Hej igen.
Nu har jeg næsten fået det til at virke..
Den gemmer det nu..
Men når jeg så har trykket gem..
så skriver den:


Du er nu oprettet som bruger, og kan logge ind!
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /var/www/hotserv.dk/users/musiklirstest/opret.php:10) in /var/www/hotserv.dk/users/musiklirstest/index.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /var/www/hotserv.dk/users/musiklirstest/opret.php:10) in /var/www/hotserv.dk/users/musiklirstest/index.php on line 2

Warning: Cannot modify header information - headers already sent by (output started at /var/www/hotserv.dk/users/musiklirstest/opret.php:10) in /var/www/hotserv.dk/users/musiklirstest/index.php on line 13
Avatar billede Slettet bruger
09. april 2006 - 13:37 #23
Min opret fil ser sådannet ud:


<?php
if($_POST['submit']){
include("connect.php");
$q1 = mysql_query("select * from nickin_brugere where brugernavn = '$_POST[brugernavn]'");
if(mysql_num_rows($q1) > "0"){
print "Brugernavnet er optaget!";
}else{
$adgangskode = md5($_POST['adgangskode']);
mysql_query("insert into nickin_brugere set brugernavn = '$_POST[brugernavn]', adgangskode = '$adgangskode', navn = '$_POST[navn]', alder = '$_POST[alder]'");
print "Du er nu oprettet som bruger, og kan logge ind!";
include("index.php");
exit();
}
}
?>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="form1" method="post" action="">
  <p>Brugernavn:<br>
    <input name="brugernavn" type="text">
  </p>
  <p>Adgangskode:<br>
    <input name="adgangskode" type="password">
  </p>
  <p>Navn:<br>
    <input name="navn" type="text">
  </p>
  <p>Alder:<br>
    <input name="alder" type="text">
  </p>
  <p>
    <input name="submit" type="submit" value="Opret">
  </p>
  </form>
</body>
</html>



og index.php:


<?php
session_start();
if($_POST['submit']){
include("connect.php");
$db_hent = mysql_query("select * from nickin_brugere where brugernavn = '$_POST[brugernavn]'");
$hent = mysql_fetch_array($db_hent);
if($_POST['brugernavn'] == $hent['brugernavn'] && md5($_POST['adgangskode']) == $hent['adgangskode']){
$_SESSION['loggetind'] = "yes";
$_SESSION['Brugernavn'] = $hent['brugernavn'];
$_SESSION['Rang'] = $hent['Rang'];
$tid = time();
mysql_query("UPDATE nickin_brugere SET logintid = '$tid' WHERE brugernavn = '$_SESSION[Brugernavn]'");
header("Location: inde.php");
}else{
print "Forkert brugernavn/adgangskode!";
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="form1" method="post" action="index.php">
<table width="50">
  <tr>
    <td>Brugernavn:</td>
    <td><input type="text" name="brugernavn"></td>
  </tr>
  <tr>
    <td>Adgangskode:</td>
    <td><input type="password" name="adgangskode"></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><input type="submit" name="submit" value="Login"></td>
  </tr>
</table>
</form>
<p><a href="opret.php">Opret bruger</a></p>
</body>
</html>
Avatar billede michael_stim Ekspert
09. april 2006 - 14:04 #24
Du må ikke skrive noget ud til skärmen når du bruger headers

print "Du er nu oprettet som bruger, og kan logge ind!";

Pröv at afkommenter denne linie:

//print "Du er nu oprettet som bruger, og kan logge ind!";
Avatar billede Slettet bruger
19. april 2006 - 17:22 #25
Hov.. mange tak for hjælpen---
læg lige et svar...
Avatar billede michael_stim Ekspert
19. april 2006 - 18:44 #26
Den havde jeg også lige glemt ;o)
Avatar billede michael_stim Ekspert
19. april 2006 - 18:44 #27
..
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