Avatar billede kreztano Nybegynder
29. oktober 2001 - 12:50 Der er 26 kommentarer og
2 løsninger

Problem!!

Hej eksperter!
Jeg har lavet en chat men der er noget der ikke funker!
Når man opretter bruger skal den sætte nogle informationer ind i min MySQL men det gør den ikke!!

opretok.php filen ser sådan her ud:


<? $d = \"%d\";$b = \"%B\";$y = \"%Y\";$h = \"%H\";$m = \"%M\";$s = \"%S\";?>

<? $dato = (strftime(\"$d $b $y kl. $h:$m:$s\"))?>

<?$dato = str_replace(\"January\", \"Januar\", $dato);$dato = str_replace(\"February\", \"Februar\", $dato);$dato = str_replace(\"March\", \"Marts\", $dato);$dato = str_replace(\"May\", \"Maj\", $dato);$dato = str_replace(\"June\", \"Juni\", $dato);$dato = str_replace(\"October\", \"Oktober\", $dato);?>

<font>

<?

$result = mysql_query(\"SELECT * FROM brugersystem where brugernavn like \'$user\'\");

$row    = mysql_fetch_array($result);

?>

<?

$btjeck = strtoupper($user);

$dbtjeck = strtoupper($row[brugernavn]);

?>

<?

$ip = $REMOTE_ADDR;

$logintid = time();

?>

<?

if($btjeck == $dbtjeck) {

echo \"Brugeren er allerede i brug!<br>\";

} elseif(!$user) {

echo \"Du skal skrive brugernavn!\";

} elseif(!$pass) {

echo \"Du skal skrive kodeord!\";

} elseif($pass == $kodeord1) {

?>



<?

$insertSQL = \"insert into brugersystem (brugernavn, kodeord, point, område, email, køn, online, oprettet, sidst, ting, status, tid, logintid, ip)

           

mysql_query($insertSQL);
values (\'$user\',\'$pass\',\'0\',\'$område\',\'$email\',\'$køn\',\'nej\',\'$dato\',\'$dato\',\'0\',\'bruger\',\'0\',\'$logintid\',\'$ip\')\";

?>
<font size=-2 face=verdana>

Brugeren <? echo $user; ?> er nu oprettet !

<?

} else {

echo \"Koderne var ikke ens\";

}

?>



</font>

Avatar billede disky Nybegynder
29. oktober 2001 - 12:52 #1
ret
$insertSQL = \"insert into brugersystem (brugernavn, kodeord, point, område, email, køn, online, oprettet, sidst, ting, status, tid, logintid, ip)

           

til
$insertSQL = \"insert into brugersystem values(brugernavn, kodeord, point, område, email, køn, online, oprettet, sidst, ting, status, tid, logintid, ip)

           

Avatar billede kreztano Nybegynder
29. oktober 2001 - 12:58 #2
disky-> det virker stadigvæk ikke!
Avatar billede fri-hash Nybegynder
29. oktober 2001 - 12:58 #3
$insertSQL = \"insert into brugersystem (brugernavn, kodeord, point, område, email, køn, online, oprettet, sidst, ting, status, tid, logintid, ip) values (\'$user\',\'$pass\',\'0\',\'$område\',\'$email\',\'$køn\',\'nej\',\'$dato\',\'$dato\',\'0\',\'bruger\',\'0\',\'$logintid\',\'$ip\')\";

Avatar billede disky Nybegynder
29. oktober 2001 - 12:59 #4
fri-hash, der skal ikke plinger (\') rundt om ikke bogstavs kolonner.
Avatar billede fri-hash Nybegynder
29. oktober 2001 - 12:59 #5
alså :
INSERT INTO tabelnavn (kolonne1, kolonne2) VALUES (\'værdi1\', \'værdi2\')
Avatar billede fri-hash Nybegynder
29. oktober 2001 - 13:00 #6
nej ingen plinger om tal, jeg kender jo ikke datatyperne for hans kolonner har bare pastet hans egen value-liste
Avatar billede disky Nybegynder
29. oktober 2001 - 13:00 #7
altså NEJ

insert into tabelnavn values(integer,\'text\',\'2001-10-28\')

osv.

Der SKAL IKKE \'\' rundt om tal osv. !!!
Avatar billede disky Nybegynder
29. oktober 2001 - 13:01 #8
du skal ikke sige hvilke kolonner hvis du udfylder alle felter.
Avatar billede kreztano Nybegynder
29. oktober 2001 - 13:02 #9
Det virker altså stadigvæk ikke!! Den \"skriver\" det ikke ind i MySQL\'en!! :(
Avatar billede disky Nybegynder
29. oktober 2001 - 13:04 #10
Skriv hvordan din tabel er defineret
Avatar billede fri-hash Nybegynder
29. oktober 2001 - 13:05 #11
har du noget kode der ligner:
mysql_connect(\"hostnavn\", \"userid\", \"password\");
mysql_selectdb(\"databasenavn\");
??
Avatar billede kreztano Nybegynder
29. oktober 2001 - 13:06 #12
fri-hash-> Ja jeg har en kode der ser sådan ud.. (db.php)

tablen:
> brugernavn (varChar,255)
> kodeord (varChar,255)
> point (int,255)
> område (varChar,255)
> email (varChar,255)
> køn (varChar,255)
> online (varChar,3)
> oprettet (varChar,255)
> sidst (varChar,255)
> status (varChar,255)
> tid (varChar,255)
> logintid (int,255)
> ip (varChar,30)
> figur (varChar,255)
Avatar billede fri-hash Nybegynder
29. oktober 2001 - 13:08 #13
så burde denne virke:

$insertSQL = \"insert into brugersystem (brugernavn, kodeord, point, område, email, køn, online, oprettet, sidst, ting, status, tid, logintid, ip) values (\'$user\',\'$pass\',0,\'$område\',\'$email\',\'$køn\',\'nej\',\'$dato\',\'$dato\',\'0\',\'bruger\',\'0\',$logintid,\'$ip\')\";
Avatar billede disky Nybegynder
29. oktober 2001 - 13:08 #14
$insertSQL = \"insert into brugersystem (brugernavn, kodeord, point, område, email, køn, online, oprettet, sidst, ting, status, tid, logintid, ip) values(\'user\',\'$pass\',0,\'$område\',\'$email\',\'$køn\',\'nej\',\'$dato\',\'$dato\',\'0\',\'bruger\',\'0\',$logintid,\'$ip\')\";

mysql_query($insertSQL);


prøv med det.
Avatar billede fri-hash Nybegynder
29. oktober 2001 - 13:10 #15
husk at inkludere db.php i opretok.php, så der bliver skabt forbindelse til databasen, ellers kan du ikke udføre statements
Avatar billede kreztano Nybegynder
29. oktober 2001 - 13:13 #16
Det virker ikke!! Jeg fatter det ik.. Der kommer ik noget ind i MySQL databasen!
Avatar billede disky Nybegynder
29. oktober 2001 - 13:13 #17
begynd på noget mindre avanceret end en chat.

Avatar billede kreztano Nybegynder
29. oktober 2001 - 13:14 #18
fri-hash-> Det har jeg gjort.. den står helt øverst i opretok.php
Avatar billede kreztano Nybegynder
29. oktober 2001 - 13:15 #19
<?

include(\"db.php\");

?>
Avatar billede kreztano Nybegynder
29. oktober 2001 - 13:15 #20
disky-> Jeg har haft den oppe at kører før men nu laver den pludselig den der fejl!
Avatar billede fri-hash Nybegynder
29. oktober 2001 - 13:19 #21
prøv:

$result = mysql_query($insertSQL)or die(mysql_error());
Avatar billede fri-hash Nybegynder
29. oktober 2001 - 13:21 #22
så får du en fejlmeddelelse om hvad der er galt
Avatar billede kreztano Nybegynder
29. oktober 2001 - 13:25 #23
Øhh hvad menes der med det her:

Column count doesn\'t match value count at row 1
Avatar billede fri-hash Nybegynder
29. oktober 2001 - 13:33 #24
prøv
echo $insertSQL;
og se hvilke værdier variablerne har
Avatar billede kreztano Nybegynder
29. oktober 2001 - 13:35 #25
Så kommer der det her frem:

insert into brugersystem (brugernavn, kodeord, stakat, område, email, køn, online, oprettet, sidst, status, tid, logintid, ip) values(\'user\',\'11\',0,\'storkøbenhavn\',\'\',\'dreng\',\'nej\',\'29 Oktober 2001 kl. 13:37:18\',\'29 Oktober 2001 kl. 13:37:18\',\'0\',\'bruger\',\'0\',1004359038,\'193.89.190.58\') Brugeren 11 er nu oprettet ! 
Avatar billede kreztano Nybegynder
29. oktober 2001 - 13:43 #26
fri-hash-> tak for hjælpen... fik det til at virker :) du får 75 for din kanon hjælp og disky du får 25 for din indsats..!!

TAKKKER FOR HJÆLPEN!!!!
Avatar billede fri-hash Nybegynder
29. oktober 2001 - 13:46 #27
selv tak :-)
Avatar billede fri-hash Nybegynder
29. oktober 2001 - 13:47 #28
ps: husk $-tegnet foran user i values
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