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.
umiddelbart echo "$this->navn er nu oprettet"; skal være echo "$opret->navn er nu oprettet";
Synes godt om
Slettet bruger
18. oktober 2004 - 15:04#2
id på brugertabellen er vel en autoincrement? Så skal du slet ikke indsætte den.
Både dato og status er defineret inde i objektet, så de skal ikke overføres som parametre.
Jeg ville nok have valgt at lade datofeltet i databasen være et format, som MySQL selv forstår og sætte typen til DATETIME. (Dette har jeg ikke rettet.)
Og prøv lige at bestemme dig til hvordan du laver indrykninger i koden, for det kan blive meget uoverskueligt, hvis man ikke bruger et fast system. (Jeg har indrykket, som jeg foretrækker nednunder.)
my_class.php ------------- <?php class connect { var $host; var $user; var $pass; var $db;
function connect(){ $this->host="localhost"; $this->user="root"; $this->pass=""; $this->db="hawk"; mysql_connect("$this->host","$this->user","$this->pass"); mysql_select_db("$this->db"); }
function opret_bruger($navn, $kode) { $status=1; $dato = date('d/m/Y H:i:s'); $result=mysql_query("INSERT INTO bruger (navn, kode, status, dato) VALUES ('$navn','$kode','$status','$dato'"); if(mysql_affected_rows($result)==1){ return true; // En række blev oprettet. } else { return false; // Der blev ikke oprettet en række - måske findes brugernavnet allerede? } } }
<?php if ($_POST['opret']){ $opret = new connect(); if($opret->opret_bruger($_POST['navn'], $_POST['kode'])){ echo $_POST['navn'] . " er nu oprettet"; } else { echo $_POST['navn'] . " kunne ikke oprettes"; } } ?>
Synes godt om
Slettet bruger
18. oktober 2004 - 15:06#3
Rettelse: mysql_affected_rows($result) skulle bare have været mysql_affected_rows()
Nå men sandbox det virker ik helt (endnu) men du bliver sgu lige nødt til at forklare mig et par småting hvis du gider. Alså den variable som jeg sætter = new noget skal jeg så sætte i en if sætning med -> mod den function jeg vil bruge. Rigtig? Og når du i user.php skriver om navnet kan oprettes eller ikke kan, hvorfor så også tage return true eller false med i class filen? og hvorfor alt det her kode: function opret_bruger($navn, $kode) { $status=1; $dato = date('d/m/Y H:i:s'); $result=mysql_query("INSERT INTO bruger (navn, kode, status, dato) VALUES ('$navn','$kode','$status','$dato'"); if(mysql_affected_rows($result)==1){ return true; // En række blev oprettet. } else { return false; // Der blev ikke oprettet en række - måske findes brugernavnet allerede? } } hvorfor kan man ikke bare nøjes med: function opret_bruger($navn, $kode) { $status=1; $dato = date('d/m/Y H:i:s'); $result=mysql_query("INSERT INTO bruger (navn, kode, status, dato) VALUES ('$navn','$kode','$status','$dato'"); } Håber da ikke jeg går jeg på, men jeg ønsker alså at lære det her crap her.
Synes godt om
Slettet bruger
18. oktober 2004 - 15:54#6
I user.php ved den kun om navnet kunne oprettes fordi der blev returneret true eller false. Og jeg laver de returkoder i funktionerne fordi jeg synes det er god skik at lade omverdenen vide, hvis det, de bad om ikke kunne lade sig gøre. (Og det gælder så på to niveauer i denne situation.)
Grunden til at jeg lavede en if($opret->opret_bruger($_POST['navn'], $_POST['kode'])) var netop at jeg havde sat den til at returnere noget, der kunne bruges af en if. Ellers har koden i user.php ikke en chance for at vide, om det lykkedes.
Jeg kunne også have gemt svaret fra metoden i en variabel og teste på den i stedet:
hm ok. Tror jeg begynder at forstå lidt, men øh kan du se hvor der umiddelbart ville være en fejl siden den IKKE opretter noget?
Synes godt om
Slettet bruger
18. oktober 2004 - 16:19#8
Måske er der sket en fejl undervejs et sted.
Prøv at sætte
or die(mysql_error)
på dine kald til mysql_query(), mysql_connect() og mysql_select_db()
Synes godt om
Slettet bruger
18. oktober 2004 - 18:13#9
Efter lidt lokal afprøvning og lidt snak over msn fandt vi frem til følgende:
<?php class connect { var $host; var $user; var $pass; var $db;
function connect(){ $this->host="localhost"; $this->user="root"; $this->pass=""; $this->db="hawk"; mysql_connect($this->host,$this->user,$this->pass)or die(mysql_error); mysql_select_db($this->db) or die(mysql_error); }
function opret_bruger($navn, $kode) { $status=1; //$dato = date('d/m/Y H:i:s'); $result=mysql_query("INSERT INTO bruger (navn, kode, status) VALUES ('$navn','$kode',$status)") or die(mysql_error()); if(mysql_affected_rows()==1){ return true; } else { return false; } } }
?>
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.