Hei! Jeg driver å prøver å lære meg PHP og sql på egenhånd. Driver med et prosjekt hvor jeg skal skrive inputs inn til en database. Problemet er bare at jeg får en feilmelding som jeg ikke skjønner. Som er:
Fatal error: Call to a member function query() on a non-object in Cxampp\htdocs\hjemme\index.php on line 37
klasser.php
index.php
connect-db.php
Takker for all hjelp
Fatal error: Call to a member function query() on a non-object in Cxampp\htdocs\hjemme\index.php on line 37
klasser.php
Kode
<?php class bruker { private $epost; private $passord; private $fornavn; private $etternavn; function set_epost ($epost) { if (preg_match("/^[^0-9][A-z0-9_]+([.][A-z0-9_]+)*[@][A-z0-9_]+([.][A-z0-9_]+)*[.][A-z]{2,4}$/",$epost)) { $this->epost = $epost; return true; } else { return false; } } function set_passord($passord) { if (preg_match("/^[A-åa-å.0-9 ]{5,30}$/",$passord)) { $this->passord = $passord; return true; } else { return false; } } function set_fornavn ($fornavn) { if (preg_match("/^[a-åA-Å.0-9 ]{3,10}$/",$fornavn)) { $this->fornavn = $fornavn; return true; } else { return false; } } function set_etternavn ($etternavn) { if (preg_match("/^[a-åA-Å.0-9 ]{3,10}$/",$etternavn)) { $this->etternavn = $etternavn; return true; } else { return false; } } function get_epost() { return $this->epost; } function get_passord() { return $this->passord; } function get_fornavn() { return $this->fornavn; } function get_etternavn() { return $this->etternavn; } } ?>
index.php
Kode
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title></title> </head> <body> <form action="" method="POST" > <table> <tr><td> Epost </td><td><input type="text" name="epost" /> </td> <td>*</td></tr> <tr><td> Passord </td><td><input type="password" name="passord" /></td> <td>*</td></tr> <tr><td> Fornavn </td><td><input type="text" name="fornavn" /></td><td>*</td></tr> <tr><td> Etternavn</td><td> <input type="text" name="etternavn" /></td><td>*</td></tr> <tr><td> <input type="submit" name="registrer" value="Registrer deg" /></td></tr> </form> </table> * Feltet må fylles inn </form> <?php if(isset($_REQUEST['registrer'])) { include "klasser.php"; include "connect-db.php"; $bruker = new bruker(); if (get_magic_quotes_gpc()) { $bruker->set_epost($_POST['epost']); $bruker->set_passord($_POST['passord']); $bruker->set_fornavn($_POST['fornavn']); $bruker->set_etternavn($_POST['etternavn']); } $sql ="Insert INTO registrering(Epost,Passord,Fornavn,Etternavn)"; $sql .="Values('".$bruker->get_epost()."','".$bruker->get_passord()."','".$bruker->get_fornavn()."','".$bruker->get_etternavn()."')"; $resultat = $db->query($sql); // Her er feilmeldingen! if(!$resultat) { echo "Feil, kunne ikke skrive til databasen"; } $db->close(); $db->close(); } ?> </body> </html>
Kode
<?php $db_server = mysql_connect('localhost',"root", ""); if(!$db_server) { die("kunne ikke koble til databaseserver"); } $db = mysql_select_db("hjemme"); if(!$db) { die("Fant ikke databasen"); } ?>
Sist endret av Den modige; 4. april 2012 kl. 20:30.