Avatar billede Morten Professor
10. november 2015 - 17:34 Der er 15 kommentarer og
1 løsning

Insert igen igen

Hej Eksperter

Der er simpelhen noget jeg ikke forstår.
Nu har jeg prøvet med og uden function.
Prøvet gøre efter alle forskrifter jeg kan finde.
Men når jeg laver en ny insert kan jeg ikke få det til at virke. Hvad går der lige galt.

Er træt af det, og i må da også være trætte af at få det samme spørgsmål.


function tbl_url_antal_hits_Create($hellestrik, $ip, $hits, $url){
if ($stmt = $hellestrik->prepare('INSERT INTO `tbl_url_antal_hits` (`ip`, `hits`, `url`) VALUES (?, ?, ?)')) {

    /* Bind parametre */
    $stmt->bind_param('sis', $ip, $hits, $url);

    /* Sæt værdier på parametrene */
    $ip = $_SERVER['REMOTE_ADDR'];
    $hits = 1;
    $url = $_SERVER['REQUEST_URI'];
    /* Eksekver forespørgslen */
    $stmt->execute();

    /* Luk statement */

        /* Luk statement */
        $stmt->close();
    }
    else{
        echo "server fejl";
    }
}
$test = tbl_url_antal_hits_Create($ip, $hits, $url);
echo $test;


Med venlig hilsen
Morten
Avatar billede arne_v Ekspert
10. november 2015 - 17:45 #1
Kan du uddybe "kan jeg ikke få det til at virke"?
Avatar billede Morten Professor
10. november 2015 - 18:07 #2
Kan ikke indsætte noget på databasen.
Ser det ikke rigtig nok ud, eller har jeg glemt noget?
Avatar billede Morten Professor
10. november 2015 - 18:08 #3
-- Struktur-dump for tabellen `tbl_url_antal_hits`
--

CREATE TABLE IF NOT EXISTS `tbl_url_antal_hits` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `ip` varchar(255) NOT NULL,
  `hits` int(11) NOT NULL,
  `url` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Avatar billede olsensweb.dk Ekspert
10. november 2015 - 18:10 #4
mangler du ikke at overføre din connection her ??
$test = tbl_url_antal_hits_Create($ip, $hits, $url);

der er ikke nogle grund til at overføre $ip, $hits, $url, sætter dem aligevel inde  functionen
Avatar billede arne_v Ekspert
10. november 2015 - 18:12 #5
Ja - connection ser ud til at mangle - men det burde da give et hav af fejl meddelelser.
Avatar billede olsensweb.dk Ekspert
10. november 2015 - 18:16 #6
function tbl_url_antal_hits_Create($hellestrik, $ip, $hits, $url){
kunne laves som
function tbl_url_antal_hits_Create($hellestrik){

$test = tbl_url_antal_hits_Create($ip, $hits, $url);
kunne laves som
$test = tbl_url_antal_hits_Create($hellestrik);

dit nuværende kald skal laves om til dette:
$test = tbl_url_antal_hits_Create($hellestrik, $ip, $hits, $url);

#5
ja det burde give en fejl
Avatar billede Morten Professor
10. november 2015 - 18:46 #7
Nu har jeg lavet om, men virker stadig ikke :(


function tbl_url_antal_hits_Create($hellestrik){
if ($stmt = $hellestrik->prepare('INSERT INTO `tbl_url_antal_hits` (`ip`, `hits`, `url`) VALUES (?, ?, ?)')) {

    /* Bind parametre */
    $stmt->bind_param('sis', $ip, $hits, $url);

    /* Sæt værdier på parametrene */
    $ip = $_SERVER['REMOTE_ADDR'];
    $hits = 1;
    $url = $_SERVER['REQUEST_URI'];
    /* Eksekver forespørgslen */
    $stmt->execute();

    /* Luk statement */

        /* Luk statement */
        $stmt->close();
    }
    else{
        echo "server fejl";
    }
}
$test = $test = tbl_url_antal_hits_Create($hellestrik, $ip, $hits, $url);
echo $test;
Avatar billede olsensweb.dk Ekspert
10. november 2015 - 18:53 #8
du har kun lavet det ene om
$test = $test = tbl_url_antal_hits_Create($hellestrik, $ip, $hits, $url);
skal se sådan ud
$test = $test = tbl_url_antal_hits_Create($hellestrik);
antallet af parameter skal passe
Avatar billede Morten Professor
10. november 2015 - 19:34 #9
Den sidder det mærkeligt nok ind på min localhost test server på computeren.


function tbl_url_antal_hits_Create($hellestrik){
if ($stmt = $hellestrik->prepare('INSERT INTO `tbl_url_antal_hits` (`ip`, `hits`, `url`) VALUES (?, ?, ?)')) {

    /* Bind parametre */
    $stmt->bind_param('sis', $ip, $hits, $url);

    /* Sæt værdier på parametrene */
    $ip = $_SERVER['REMOTE_ADDR'];
    $hits = 1;
    $url = $_SERVER['REQUEST_URI'];
    /* Eksekver forespørgslen */
    $stmt->execute();

    /* Luk statement */

        /* Luk statement */
        $stmt->close();
    }
    else{
        echo "server fejl";
    }
}
$test = tbl_url_antal_hits_Create($hellestrik);
echo $test;
Avatar billede Morten Professor
10. november 2015 - 19:45 #10
nej det gør den ikke mere nu.
Avatar billede olsensweb.dk Ekspert
10. november 2015 - 19:52 #11
og så kunne du retunerer den id på den post du lige har oprettet som jeg skrev i http://www.eksperten.dk/spm/1007163#reply_8200607 læg mærke til det i coden der er skrevet med fed skrift
læg mærke til de steder jeg skriver $id
(utested)

function tbl_url_antal_hits_Create($hellestrik){
    $id=0;
    if ($stmt = $hellestrik->prepare('INSERT INTO `tbl_url_antal_hits` (`ip`, `hits`, `url`) VALUES (?, ?, ?)')) {
        /* Bind parametre */
        $stmt->bind_param('sis', $ip, $hits, $url);
        /* Sæt værdier på parametrene */
        $ip = $_SERVER['REMOTE_ADDR'];
        $hits = 1;
        $url = $_SERVER['REQUEST_URI'];
        /* Eksekver forespørgslen */
        $stmt->execute();
        $id = $stmt->insert_id;
        /* Luk statement */
        $stmt->close();
    }
    else{
        $id=-1;
        echo "server fejl";
    }
    return $id;
}
Avatar billede Morten Professor
10. november 2015 - 21:05 #12
Hej ronols

hmm det virker helt fint på localhost, det gjorde det andet også.
Men det virker ikke på min server det er vildt mærkeligt.
Avatar billede Morten Professor
10. november 2015 - 21:25 #13
Så virker det som det skal.
Nu bruger jeg den efterhånden så ved jeg det virker :o)

Du må gerne smide et svar :o)

Med venlig hilsen
Morten
Avatar billede olsensweb.dk Ekspert
11. november 2015 - 06:38 #14
svar

jeg tror du kan fjerne hits, og få oplysningen med et andet sql kald

antal unike besøgende
SELECT COUNT(DISTINCT ip) AS antal FROM tbl_url_antal_hits

antal click
SELECT COUNT(ip) AS antal FROM tbl_url_antal_hits
Avatar billede Morten Professor
11. november 2015 - 06:55 #15
Ej hvor smart tak for de tips du giver mig.
Det vil jeg bruge :o)

Og mange tak for hjælpen.

Med venlig hilsen
Morten
Avatar billede Morten Professor
11. november 2015 - 07:04 #16
Jeg tror jeg vil lave på en side for sig selv, med den måde så jeg kan bruge begge de funktioner der er blevet lavet, så der er en side med et godt overblik over hits og bevægelse rundt på siden.
Så der er en der hedde bevægelse på siden.

Med venlig hilsen
Morten
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester