det virker ikke why??

Tags:    php

Hej ..

Hvorfor virker min denne kode ikke ??
det skulle oprette en bruger med info om brugernavn e-mail og kode men det gør den ikke :(

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
</head>
<body bgcolor=#000000>
<?php
if (isset($_REQUEST['brugernavn'])) {
$brug = $_REQUEST['brugernavn'];
$pass = $_REQUEST['password'];
$mail = $_REQUEST['mail'];
$conn = mysql_connect("localhost", "brugernavn", "kode");
mysql_select_db("db"); //Indtast selv de rigtige oplysninger
mysql_query("insert into tbl_bruger(bru_navn, bru_kodeord, bru_email) values($brug, md5($pass), $mail)");
echo "brugeren er oprettet";
}

?>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="text" name="brugernavn">
<input type="text" name="mail">
<input type="password" name="password">
<input type="submit" name="opret" value="opret">

</body>
</html>



9 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato

Chadi: $_REQUEST indeholder alle variabler fra $_GET og $_POST (bl.a.) så dit forslag vil ikke løse problemet. Jeg tror problemet er i hans sql-statement. Selvom man nok burde angive explicit hvilken method man ønsker. Ved faktisk ikke hvad html-standarden siger om dette.

Men...

En fejlbeskrivelse havde nu været rart.. Men lad mig gætte:

Du mangler ihvertfald "</form>", før </html>. Og din mysql_query er forkert. Den bør være noget i stil med:

mysql_query("insert into tbl_bruger(bru_navn, bru_kodeord, bru_email) values('$brug', md5('$pass'), '$mail')");

Og så bør du altid bruge addslashes(). Så du får statements som denne:

$brug = addslashes($_REQUEST['brugernavn']);

Og tjek altid returnkoder. Fx kan du omskrive din mysql_query() til
mysql_query("insert into tbl_bruger(bru_navn, bru_kodeord, bru_email) values('$brug', md5('$pass'), '$mail')") or die("SQL-fejl: " . mysql_error());

Dennis Møllegaard Pedersen
http://dennis.moellegaard.dk

[Redigeret d. 18/02-04 00:29:01 af Dennis Møllegaard Pedersen]



Hej ..

Hvorfor virker min denne kode ikke ??
det skulle oprette en bruger med info om brugernavn e-mail og kode men det gør den ikke :(

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
</head>
<body bgcolor=#000000>
<?php
if (isset($_REQUEST['brugernavn'])) {
$brug = $_REQUEST['brugernavn'];
$pass = $_REQUEST['password'];
$mail = $_REQUEST['mail'];
$conn = mysql_connect("localhost", "brugernavn", "kode");
mysql_select_db("db"); //Indtast selv de rigtige oplysninger
mysql_query("insert into tbl_bruger(bru_navn, bru_kodeord, bru_email) values($brug, md5($pass), $mail)");
echo "brugeren er oprettet";
}

?>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="text" name="brugernavn">
<input type="text" name="mail">
<input type="password" name="password">
<input type="submit" name="opret" value="opret">

</body>
</html>

du mangler at sætte method:
<form method="POST">
og så brug $_POST[' '] istedet for $_REQUEST[' ']
prøv denne kode istedet:
Fold kodeboks ind/udKode 

Hilsen CHadi
Mit lykketal er 2959

[Redigeret d. 17/02-04 21:28:54 af CHadi]



Det ser efter min mening jo ud som om at det godt kunne være det men nu vil min mysql ikke starte siste gang geninstallerede jeg den bare men nu har jeg jo data i den kan man evt. tage backup af det elller er der en anden lidt nemmere måde at klare mit problem ud at geninstallere ??

ville blive glad for et svar hurtigt da jeg tager afsted kl. 10-11 stykker og først kommer hjem igen imorgen aften.

og jeg kan jo ikke teste de gode råd jeg lige har fået.

Hilsen Johnny Rasmussen




Men...

En fejlbeskrivelse havde nu været rart..


Der er ingen fejlbesked den gemmer åbenbart bare ikke i min db
for den skulle efter min mening oprette en bruger men der sker intet.

Hilsen Johnny Rasmussen




Tusind tak har fundet ud af hvordan man tager backup og det virker nu jeg kan lave nye brugere nu skal jeg bare finde mig en kode som tjekker om navnet er i db. HeHe

SeS

Johnny Rasmussen




Der er ingen fejlbesked den gemmer åbenbart bare ikke i min db
for den skulle efter min mening oprette en bruger men der sker intet.


Det er jeg nu ret sikker på, hvis den når til din mysql_query() - men spm jeg skrev, så tjekkede du rent faktisk ikke om det gik godt, og hvis det ikke gjorde - så skrev du ikke en fejl ud, så du havde noget at arbejde med. (kunne gøres med "or die"-delen som jeg tilføjede).

Dennis Møllegaard Pedersen
http://dennis.moellegaard.dk




Der er ingen fejlbesked den gemmer åbenbart bare ikke i min db
for den skulle efter min mening oprette en bruger men der sker intet.


Det er jeg nu ret sikker på, hvis den når til din mysql_query() - men spm jeg skrev, så tjekkede du rent faktisk ikke om det gik godt, og hvis det ikke gjorde - så skrev du ikke en fejl ud, så du havde noget at arbejde med. (kunne gøres med "or die"-delen som jeg tilføjede).

Dennis Møllegaard Pedersen
http://dennis.moellegaard.dk


Jeg har tilføjet din or-die til min query men jeg har det problem at hvis jeg opretter en bruger der findes laver den bare en bruger mere der hedder det samme og det skulle den jo helst ikke gøre for jeg kan ikke loge ind hvis der er 2 ens brugernavn f.eks. har jeg lavet 2 brugere der heder hej med samme pass og e-mail men jeg kan ikke logge ind hvordan gør jeg så den kommer ud og siger brugernavnet er i brug ??





Du laver en SELECT statement der checkker om brugernavnet findes i forvejen. Noget i stil med.

SELECT 1 FROM tbl_bruger WHERE bru_navn = '$bruger'

Hvis resultatet indeholder 0 rækker - så er navnet ledigt - hvis ikke, så er det optaget.

Dennis Møllegaard Pedersen
http://dennis.moellegaard.dk




Du laver en SELECT statement der checkker om brugernavnet findes i forvejen. Noget i stil med.

SELECT 1 FROM tbl_bruger WHERE bru_navn = '$bruger'

Hvis resultatet indeholder 0 rækker - så er navnet ledigt - hvis ikke, så er det optaget.

Dennis Møllegaard Pedersen
http://dennis.moellegaard.dk


løste det på en anden måde her er pointene




t