Avatar billede hoejgaard Juniormester
22. juli 2003 - 00:55 Der er 14 kommentarer og
1 løsning

brugernavn ved login

Jeg har lavet noget kode til en side, hvor man kan logge ind.

Når man så er logget ind med brugernavn skal dette brugernavn lægges i en database, MySQL,
i forbindelse med at brugeren lægger nogle andre nye oplysninger i databasen. Hvordan er det man gør det.

Brugernavnet er jo kendt da man er logget ind.
Avatar billede repsac Nybegynder
22. juli 2003 - 00:57 #1
Er det en MySQL-Insert-query du mangler?

Lidt mere forklaring, men evt. lidt kode :)
Avatar billede googolplex Novice
22. juli 2003 - 00:59 #2
Skal man ikke kun lægge brugernavnet i databasen når man opretter brugeren ?
Avatar billede hoejgaard Juniormester
22. juli 2003 - 01:04 #3
her er den kode der skriver til databasen, og her er brugeren logget ind med brugernavn.



<?
ob_start();
?>
<html>

<?php
session_start();
require ("sidehoved.html");

    if (empty($HTTP_SESSION_VARS['valid_user'])) {
    header("Location: http://127.0.0.1/tilen/login.php"); 
   
    }


$IPnr = getenv('REMOTE_ADDR'); # Henter brugerens aktuelle IP

// echo "$IPnr";

if($_POST['up']){
    $files = $_FILES['upfil']['name'];
    $file = $_FILES['upfil']['tmp_name'];
    $fil_stoerrelse = filesize($file)/1024;
    if($fil_stoerrelse > "1000") {
        echo "Det billede du prøver at uploade er <b>ikke</b> gyldigt - max 1000 kb
        <a href=java script:history.back(-1)>Tilbage</a>";
        exit;
    }
 
    $sti = "/test/";
    $dist = $_SERVER["DOCUMENT_ROOT"] ."$sti";
    $temparr = explode(".", $files);
    $temparr[count($temparr)-2] = time();
    $files = implode(".", $temparr);
    move_uploaded_file($_FILES['upfil']['tmp_name'], $dist . $files);
    $connection = mysql_pconnect("localhost","root");
    mysql_select_db("tilen");
    mysql_query("insert into indsæt_in(brugernavn, kategori, tidspunkt) values ('$_POST[brugernavn]','$_POST[kategori]','$_POST[tidspunkt]')") or die(mysql_error());
    echo "Din fil er nu uploadet<br><br>";
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">


<BODY><table bgcolor="#FFFFFF" width="500" align="center">



<tr>
        <td width="120"><input type="hidden" name="brugernavn"></td>
        <td><br></td>
        <td><br></td>
</tr>



<tr>
        <td width="180"><b>Kategori:</b></td>
        <td><select name="kategori" value="<?php echo "$kategori"; ?>">>
                   

<tr>
        <td width="120"><b>Tidspunkt:</b></td>
        <td><input type="text" name="tidspunkt" value="<?php echo "$tidspunkt"; ?>"></td>
</tr>








<tr>
        <td><br></td>
        <td><br></td>
</tr>

<tr>
        <td width="120"><b>Upload billede:</b></td>
        <td><input type="file" name="upfil"></td>
</tr>

<tr>
        <td width="120"><b>Tekst til billede:</b></td>
        <td><input type="text" name="tekst"></td>   
</tr>
<tr>
        <td width="120"></td>
        <td align="center"><input type="submit" value="send" name="up"></td>
</tr>

</table>
</form>

</html>

<?
ob_end_flush();
?>


når jeg kører dette, skriver den :

Duplicate entry '' for key 1
Avatar billede detox Nybegynder
22. juli 2003 - 05:26 #4
Det kunne tyde på at et af dine felter måske er sat som "UNIQUE"
Avatar billede tipsen Nybegynder
22. juli 2003 - 10:00 #5
Generelt dårlig ide at have danske specialtegn i tabelnavne: 'indsæt_in'
Avatar billede tipsen Nybegynder
22. juli 2003 - 10:00 #6
Synes fejlen tyder på, at der ikke er auto_increment på dit id-felt!
Avatar billede hoejgaard Juniormester
22. juli 2003 - 10:39 #7
jeg har ikke auto_increment på noget felt, har slet ikke et id felt.

Har et unikt brugernavn der er sat til primær..
Avatar billede hoejgaard Juniormester
22. juli 2003 - 10:40 #8
det kan være jeg vrøvler lidt nu, men er sku også lidt træt af det  :)
Avatar billede tipsen Nybegynder
22. juli 2003 - 11:01 #9
Så vil jeg give detox ret i hans gæt på fejlen.
Avatar billede hoejgaard Juniormester
22. juli 2003 - 11:16 #10
jeg er ny i MySQL, så i må bære over med mig.

Er UNIQUE det samme som primær.....
Avatar billede hoejgaard Juniormester
22. juli 2003 - 11:28 #11
jeg har et brugernavn som primær nøgle, og første gang brugeren snder noget til databasen virker det, men anden gang skriver den det med duplicate key ??
Avatar billede tipsen Nybegynder
22. juli 2003 - 12:09 #12
Hvis brugernavn er primær nøgle betyder det at du ikke kan have 2 poster der har samme brugernavn - derfor kikser det 2. gang, da du jo så har den første post allerede.
Avatar billede hoejgaard Juniormester
22. juli 2003 - 12:13 #13
ja det kan jeg godt se.
Avatar billede repsac Nybegynder
22. juli 2003 - 23:39 #14
hoejgaard: løsningen er at have et id-felt (auto_increment) som så er primary key, og derefter lade dit brugernavns-felt være ikke-unique/ikke-primary key...

(reminds me that noone ever should forget to use an auto incremented id ;))
Avatar billede hoejgaard Juniormester
21. september 2006 - 13:13 #15
lukker
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