Idéen er at jeg vil lave et loginsystem, men problemet er at jeg ikke kan få de variabler som bliver fyldt ud fra databasen til at retunere noget. De er simpelthen tomme. Der er noget i $_POST variablerne, men ikke i $row. Den er tom.
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
Det er altid en god ide lige at sæte or die(mysql_error()); efter sine mysql funktioner, således at du kan se om der er nogle fejl.
$query = mysql_query("SELECT * FROM gttu_adgangskoder WHERE username=".$_POST['username']) or die(mysql_error()); $row = mysql_fetch_assoc($query) or die(mysql_error());
Og hvis feltet username ikke er et talfelt, så skal du minimum:
$query = mysql_query("SELECT * FROM gttu_adgangskoder WHERE username='".$_POST['username']."'") or die(mysql_error());
Synes godt om
Slettet bruger
15. januar 2008 - 19:15#3
Det virker stadig ikke. Nu er MySQL delen sådan: mysql_query("SELECT * FROM gttu_adgangskoder WHERE username='".$_POST['username']."'") or die(mysql_error()); $row = mysql_fetch_assoc($query) or die(mysql_error());
Ja du beder den om hente alt information for alle de rækker hvor username er anders. Dvs. den henter alle felter. Det er ikke særligt klogt at gemme password direkte. Oftes gemmes password krypteret for at højne sikkerheden.
Synes godt om
Slettet bruger
15. januar 2008 - 21:54#12
Jamen vi er bare et lille site, som kun har fire faste medlemmer.. Man kan ikke selv oprette sig.
Men når jeg skriver 'username' ind i array'en burde den jo kun give username delen???
Men smutter offline nu, kommer først på igen i morgen...
$query = mysql_query("SELECT * FROM gttu_adgangskoder WHERE username='".$_POST['user']."'") or die(mysql_error()); $row = mysql_fetch_assoc($query) or die(mysql_error());
Vi har det skam meget godt. Den skriver præcis det ud den skal. Hvad mener du den skal skrive ud, og hvorfor?
Synes godt om
Slettet bruger
16. januar 2008 - 14:39#19
For mig opfører den sig åbenbart som det passer den??? Nu er hele siden bare blank???
Men $_POST['username'] skal ikke skrive "AndersArray ( [username] => Anders [password] => anderspyro [id] => 4 )" da den ikke kontakter databasen! Den får sin information fra HTML formen, som jeg bare skriver "Anders" i (alt uden gåseøjne).
Gå ind i dit kontrolpanel på (b)one.com og sæt fejlvisning til. Du kan have en simpel semikolon fejl, der giver blank side - med mindre du sætter et kryds et eller andet sted (kender ikke b-one)
Det er heller $_POST['username'] der indeholder "AndersArray ( [username] => Anders [password] => anderspyro [id] => 4 )" - den tekst får du fra print_r($row)
Synes godt om
Slettet bruger
16. januar 2008 - 15:12#25
Jeg prøvede at fjerne "or die(mysql_error());" fra det hele, og nu kom der noget tekst frem, variablerne blev bare ikke loadet ind... (har tilføjet det igen)
Synes godt om
Slettet bruger
16. januar 2008 - 15:15#26
Så har jeg slået fejlmeddelser til, men der kan gå 15 minutter til det træder i kraft.. Der sker ihvertfald ikke noget endnu...
$query = mysql_query("SELECT * FROM gttu_adgangskoder WHERE username='".$_POST['user']."'") or die(mysql_error()); $row = mysql_fetch_assoc($query) or die(mysql_error());
Det kan svare sig at ændre echo "<br /><hr /><br />Hele row variablen: " .print_r($row).""; til echo "<br /><hr /><br />Hele row variablen: ";print_r($row);
Så kommer udskriften det rigtige sted - måske hvad der forvirrede dig?
Synes godt om
Slettet bruger
16. januar 2008 - 15:37#30
Det virker stadig ikke :(
Da jeg prøvede at fjerne "or die(mysql_error());" fra koden kom der noget frem på skærmen, men variablerne fra databasen havde ikke det i sig som de skulle...
Lad mig præcisere: hvis du har <input type='text' name='username'> og så bruger $_POST['user'] ...så kan jeg ikke se nogen grund til at den skal opføre sig anderledes.
Synes godt om
Slettet bruger
16. januar 2008 - 15:50#33
Men det er det... Jeg includer jo to filer.. Her er deres indhold:
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.