Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  11 758
Hei, jeg lages litt med å skal få til å lage sånn at når brukerne har registrert seg så skal det komme i databasen sånn som det gjør, men jeg skal jo kunne ha det slikk at di kan logge av å på sånn som di selv vil osv..

HER ER SELVE PHP KODEN!!

<?php
}//if
else { //prosesser skjemaet
$tilkobling = mysql_connect("localhost", "brukernavn", "passord");
mysql_select_db("databasenavn", $tilkobling);
$sql = "SELECT * FROM medlemmer";
$sql .= "WHERE brukernavn='" . $_POST['brukernavn'] . "' ";
$sql .= "AND passord='" . $_POST['passord'] . "' ";
echo $sql . "<p>";
$antall = mysql_num_rows($resultat);
$resultat = mysql_query($sql, $tilkobling);
echo "$antall";
echo "$resultat";
if ($antall == 1) echo "Du er nå logget inn!";
else echo "En feil oppstod, vennligst prøv på nytt!";
}//ferdig med prosessering

?>

Men har problem med at det kommer opp dette hele tiden når man prøvet å logge på..

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home2/styggest/public_html/alex/login(1).php on line 31

Jeg har jammen meg driver å prøvd det meste med får det ikke til, er det noen som vil hjelpe meg med dette eller?


Takk på forhånd..
Sist endret av alexols; 12. juni 2007 kl. 01:46.
Så ikke så grundig over, men burde du ikke strengt tatt sette $resultat før du bruker variabelen? Flytt den query-linjen lengre opp.

Edit: Denne metoden å autentisere på er veldig sårbar mot SQL-injections =/
Sist endret av Dyret; 12. juni 2007 kl. 03:03.
Ja der er det en feil.
Trådstarter
24 0
<?php
}//if
else { //prosesser skjemaet
$tilkobling = mysql_connect("localhost", "brukernavn", "passord");
mysql_select_db("databasenavn", $tilkobling);
$sql = "SELECT * FROM medlemmer";
$sql .= "WHERE brukernavn='" . $_POST['brukernavn'] . "' ";
$sql .= "AND passord='" . $_POST['passord'] . "' ";
echo $sql . "<p>";
echo "$antall";
echo "$resultat";
$antall = mysql_num_rows($resultat);
$resultat = mysql_query($sql, $tilkobling);
if ($antall == 1) echo "Du er nå logget inn!";
else echo "En feil oppstod, vennligst prøv på nytt!";
}//ferdig med prosessering

?>

At dere mente at det skulle stå sånn som det er nu eller?

-----

SELECT * FROM medlemmerWHERE brukernavn='Daniel' AND passord='daniel952'
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home2/styggest/public_html/alex/login(1).php on line 33

Hmm, får jammen meg opp samme gammle feil uansett hva man gjør liksom, pliss noen som kan dette litt bedre en meg hjelpe litt til eller?

Takker ;D
Sist endret av alexols; 12. juni 2007 kl. 07:47.
Du må kjøre en query før du kan sjekke hvor mange rader den returnerer =P

Og ville på det sterkest anbefale at du tar en kikk på mysql_real_escape_string() funksjonen (Hvis dette skal brukes til noe på nettet i alle fall)
Sist endret av Nine; 12. juni 2007 kl. 08:17. Grunn: Feilplassert tegn

Kode

<?php
}//if
else { //prosesser skjemaet
$tilkobling = mysql_connect("localhost", "brukernavn", "passord");
mysql_select_db("databasenavn", $tilkobling);
$sql = "SELECT * FROM medlemmer";
$sql .= " WHERE brukernavn='" . mysql_real_escape_string($_POST['brukernavn']) . "' ";
$sql .= " AND passord='" . $_POST['passord'] . "' LIMIT 0,1";
$resultat = mysql_query($sql, $tilkobling) or die(mysql_error());
$antall = mysql_num_rows($resultat);
if ($antall == 1) { echo "Du er naa logget inn!"; }
else { echo "En feil oppstod, vennligst prov paa nytt!"; }
}//ferdig med prosessering

?>
Må bare kommentere at det du holder på med er en svært ugunstig måte å sjekke på. Usikker og farlig!
Valgte å ikke hashe(md5) passordet ettersom registreringen ikke hasher passordet.

Les litt om mysql_real_escape_string og kodesnuttene du finner i stickies på nwf
Sist endret av esl; 12. juni 2007 kl. 08:34.
Trådstarter
24 0
Hmm jah oki, men har skrivet et annet script nu som virket perfekt ;D
men har litt trøbbel med at det ser ut som om han ikke vil sjekke radene eller noe..

her er koden som jeg skrivet:

<?php
}
else {
$tilkobling = mysql_connect("localhost", "brukernavn", "passord");
mysql_select_db("databasenavn", $tilkobling);
$pass = htmlspecialchars($_POST['passord']);
$user = htmlspecialchars($_POST['brukernavn']);
$sql = mysql_query("SELECT * FROM medlemmer WHERE brukernavn='$brukernavn' AND passord='$passord'");
$antall = mysql_num_rows($sql);
if($antall == 1) echo 'Du er logget inn';
else
echo 'Fant ikke brukeren';
}

?>


Takker ;D
$brukernavn og $passord er ikke satt.

Derimot $pass og $user er satt.

>.<
Trådstarter
24 0
Kan du si meg en litt mer konkret førklaring..?
en liten eks: vis koden! ;D
hehe
Har du i hele tatt sett på hva som kan være feil? Prøv å echo spørringen.

Se om alle variablene er satt som de skal, mer hjelp får du ikke fra meg, enda jeg sa hva som var feil innlysende i post #8
Sist endret av esl; 12. juni 2007 kl. 09:32.
Trådstarter
24 0
hehe :P
ejeje..

takker

Sånn nu (typisk) nu har jeg fådd fixet scriptet.. har bare å måtte sette inn slikk i databasen at brukere har den rettigheten også eks modeator har en annen rettighet til å kunne eksempel skrive news.. ;D

Lyst å hjelpe meg å si korsn man setter opp det i databasen?

Om dere går inn på www.styggest.org/alex også ser dere på logg inn så skjønner dere vel hva jeg mener? at når man logger inn så skal det ikke være slik at når man trykker på noe annet så må man ligge inn igjen + at i databasen trenge jeg litt hjelp med å skal sett levels på brukere å admin.. likig at brukere har rettigheter til å bruker linker å andre små ting å som admin at jeg har rettigheter til å skrive news å sånnt :P er ikke heilt sikker på hvordan man gjør det i databasen så om noen kunne hjelpe? ;D

Takker
Kan du si meg en litt mer konkret førklaring..?
en liten eks: vis koden! ;D
hehe
Vis hele sitatet...
På meg virker det som om du ikke har peiling på hva du driver med. Hva med et litt mindre prosjekt?