jeg har netop fået en ny webhotel, som åbentbart kører med en nyere version af php, så nu brokker alle mine scripts sig.
Fejlen jeg for ser sådan ud: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/tmweb/public_html/mlj/medlem/tjek_user.php on line 8
selve koden ser sådan ud: <? session_start(); addslashes($username); addslashes($passcode); $password =($passcode); require("db_ind.inc"); $passquery = mysql_query("SELECT password, id FROM profiler WHERE username = '$username'"); if (!mysql_num_rows($passquery)) { echo "Ugyldigt brugernavn! test<p>"; echo "<br>username == $username"; echo "<br>indtaster kodeord == $passcode"; echo "<br>sendt kodeord == $password"; exit(); } else { if($row = mysql_fetch_array($passquery)) { $dbpassword = $row["password"]; $profilid = $row["id"]; } if($dbpassword == $password) { $login = (true); } if ($dbpassword != $password) { echo "Forkert brugernavn eller password!!!<br>"; echo "Hvis du ikke kan huske dit password, står det i den mail du fik tilsendt ved oprettelsen. Skulle du også have mistet den mail, så kan du få den tilsendt, ved at trykker <a href=\"glemtkode.php\">her</a>.<br>"; exit(); } session_register(username); session_register(password); session_register(profilid); $today = date("d-m-Y"); require("db_ind.inc"); mysql_query("UPDATE profiler set lastlogin = '$today' WHERE username = '$username'"); header("Location: muligheder.php"); } ?>
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
burde løse dit problem... ellers så brug $_GET i stedet for post...
Synes godt om
Slettet bruger
12. maj 2003 - 15:31#3
Det skal siges at du skal ind og rette dette i samtlige filer hvor du tager brug af post og get variabler... Du kan ikke længere tilgå disse variabler direkte...
Du skal nok bruge $_POST, men addslashes($_POST['username']); er virkningsløst. Du mener måske $username = addslashes($_POST['username']); hvorefter du kan bruge $username som før. Men check lige om ikke dit webhotel sætter slashes på automatisk.
chries => halv dumt bare at tjekke om udtrykket er sandt... prøv at se på funktionen "mysql_errno()"... altså
ENTEN: (nemmest) $passquery = mysql_query("SELECT password, id FROM profiler WHERE username = '$username'")or die("MySQL fejl på linie " . __LINE__ . ": " . mysql_error());
ELLER: (sikrest) $passquery = mysql_query("SELECT password, id FROM profiler WHERE username = '$username'"); if(mysql_errno() > 0){ die("MySQL fejl på linie " . __LINE__ . ": " . mysql_error()); }
det skal lige hurtig siges, at dette script virker som det ser ud, på en anden server. Men på den nye, for jeg denne fejl på alle mine scritps, både gæstebog og nyheder: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result
chries => ja, men så behøves du ikke tjekke det med en selvstædning betingelse, så er det nok med
mysql_query(...)or die(...)
Morten
Synes godt om
Ny brugerNybegynder
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.