Avatar billede dvdrip.dk Nybegynder
07. december 2003 - 21:55 Der er 27 kommentarer og
1 løsning

Lille sjov opgave: Hver time, nyt link

Jeg skal bruge et script, som skal sende 1 person ind på en ny side hver time

Altså:

Når folk går ind på www.minside.dk kommer de bare ind på www.minside.dk/index.php som nomalt, men 1 person i timen skal blive sendt videre til www.dinside.dk/duharvundet.php, altså det vil sige at 12 personer om dagen skal komme ind på www.dinside.dk/duharvundet.php

Som I nok har regnet ud skal det bruges til en Konkurrence

Hvis I ikke forstår hvad jeg mener så sige det, og håber der er en der vil lave det til mig :D
Avatar billede jakobclausen Nybegynder
07. december 2003 - 22:03 #1
Har du adgang til en mysql database ?
Avatar billede jakobclausen Nybegynder
07. december 2003 - 22:06 #2
Hvorfor 12 personer om dagen - der er da 24 timer på et døgn ?

Denne måde vil jeg forslå det blev lavet på, og rimelig enkel at lave:

Hver gang der er en bruger der besøger siden findes klokkeslettet og der laves et opslag i en database, er siden besøgt før vil databasen indeholde 1, og der linket til index.php. Er det første besøg i den time indeholder den 0, og der linkes til vinder siden.
Avatar billede dvdrip.dk Nybegynder
07. december 2003 - 22:14 #3
Ja jeg har mysql, og ja jeg mente også 24 og ikke 12 ;)

Tror du, du vil lave det til mig?
Avatar billede jakobclausen Nybegynder
07. december 2003 - 22:16 #4
Arbejder på det!
Avatar billede jakobclausen Nybegynder
07. december 2003 - 22:22 #5
Du skal oprette en tabel der hedder konkurrence, med kolonnerne
- dato
- time
- value

Og bruge nedenstående kode:

<?
// Opretter forbindelse til database
$conn = mysql_connect("host", "bruger", "pass");
mysql_select_db("database-navn");

// Opretter dato og time-værdier
$day = date("d-m-Y");
$hour = date("G");

// Laver forespørgsel i database
$result = mysql_query("SELECT value FROM konkurrence WHERE dato='$day' AND time='$hour'");
$count = mysql_num_rows($result);

// Første besøg dirigeres til vinder side, andre vises til forsiden
if($count == 0)
{
    $query = mysql_query("INSERT INTO konkurrence (dato, time, value) VALUES ('$day', '$hour', '1') ");
    header("Location: www.dinside.dk/duharvundet.php");
}
else
{
    header("Location: www.minside.dk/index.php");
}
?>
Avatar billede jakobclausen Nybegynder
07. december 2003 - 22:23 #6
Rettelse:

For at det vil komme til at virke, skal alle de tomme linier lige slettes:

<?
// Opretter forbindelse til database
$conn = mysql_connect("host", "bruger", "pass");
mysql_select_db("database-navn");
// Opretter dato og time-værdier
$day = date("d-m-Y");
$hour = date("G");
// Laver forespørgsel i database
$result = mysql_query("SELECT value FROM konkurrence WHERE dato='$day' AND time='$hour'");
$count = mysql_num_rows($result);
// Første besøg dirigeres til vinder side, andre vises til forsiden
if($count == 0)
{
    $query = mysql_query("INSERT INTO konkurrence (dato, time, value) VALUES ('$day', '$hour', '1') ");
    header("Location: www.dinside.dk/duharvundet.php");
}
else
{
    header("Location: www.minside.dk/index.php");
}
?>
Avatar billede dvdrip.dk Nybegynder
07. december 2003 - 22:33 #7
Er ved at prøve det, men har desværre aldrig rigtigt arbejdet med mysql... men hvorfor siger den dette? :

Fejl

SQL-forespørgsel : 

CREATE TABLE `konkurrence` (

`dato` VARCHAR NOT NULL ,
`time` VARCHAR NOT NULL ,
`value` VARCHAR NOT NULL
)

MySQL returnerede:


You have an error in your SQL syntax near 'NOT NULL, `time` VARCHAR NOT NULL, `value` VARCHAR NOT NULL)' at line 1
Avatar billede jakobclausen Nybegynder
07. december 2003 - 22:35 #8
dvdrip.dk >> Prøv at oprette én kolonne af gangen, det er lettere at lokalisere fejl på den måde.
Avatar billede jakobclausen Nybegynder
07. december 2003 - 22:37 #9
Lige en anden ting, jeg vil foreslå at du ligger mit stykke kode ind på din index.php, og så gemmer den almindelige start side som f.eks. forside.php

Og sidst i koden skal der så stå:

else
{
    header("Location: www.minside.dk/forside.php");
}
Avatar billede dvdrip.dk Nybegynder
07. december 2003 - 22:38 #10
Fatter ikke lige hvordan man gør, men kunne du ikke lave et SQL-dump til mig?
Avatar billede jakobclausen Nybegynder
07. december 2003 - 22:40 #11
Jo selvfølgelig, øjeblik
Avatar billede jakobclausen Nybegynder
07. december 2003 - 22:44 #12
CREATE TABLE `konkurrence` (
  `dato` varchar(10) NOT NULL default '',
  `time` char(2) NOT NULL default '',
  `value` int(1) NOT NULL default '0',
  PRIMARY KEY  (`dato`)
) TYPE=MyISAM;
Avatar billede dvdrip.dk Nybegynder
07. december 2003 - 23:02 #13
Kan ikke helt få det til at virke...

Siden er her (Bare en test side): http://konkurrence.frac.dk/index.php

Forsiden er: /forside.htm
Vinderside er: /test.htm
Avatar billede jakobclausen Nybegynder
07. december 2003 - 23:04 #14
Har du rettet stien til vindersiden i koden?
Hvad står der i din database ?
Avatar billede jakobclausen Nybegynder
07. december 2003 - 23:08 #15
Nej 0 - hvordan skal det forståes ?
Avatar billede jakobclausen Nybegynder
07. december 2003 - 23:09 #16
Du skal kigge inde i database, hvilke værdier den indeholder
Avatar billede dvdrip.dk Nybegynder
07. december 2003 - 23:34 #17
Det var fordi jeg kopierede det fra phpmyadmin, hvor Standardværdi er = 0...
Avatar billede dvdrip.dk Nybegynder
07. december 2003 - 23:37 #18
Så virker det, skulle bare slette det hele, og sætte det ind igen :D
Avatar billede dvdrip.dk Nybegynder
07. december 2003 - 23:51 #19
Har lige snakket med dem jeg skal lave konkurrencen med, og de siger at den skal kunne lavers lidt om så den smider den første hver 5. minut over på "vindersiden".... eller ihvert så vi nemt kan lave den om fra f.eks. 1 time til 5 minuter...

Noget du gider at laver? og hvis ikke du gider er det også fair nok... hvis du ikke gider så bare sig til, så får du dine velfortjente points...
Avatar billede Slawomir Seniormester
08. december 2003 - 00:24 #20
.
Avatar billede jakobclausen Nybegynder
08. december 2003 - 07:13 #21
dvdrip.dk >> Jeg kan ikke lige umiddelbart helt gennemskue hvordan jeg skulle lave det, så umiddelbart vil jeg sige at jeg ikke kan. (gider lyder ikke så pænt)

Men vil da lige tænke over det!
Avatar billede dvdrip.dk Nybegynder
08. december 2003 - 15:51 #22
Ok, Jeg prøver at arbejde videre på det. MAnge tak for hjælpen, og hvis du finder en måde, må du endlig sige til...
Avatar billede dvdrip.dk Nybegynder
08. december 2003 - 16:12 #23
Jeg har en ide til hvordan det kunne laves,

1. en besøgende kommer ind på siden, og klokkeslettet bliver sendt til database F.eks. 14:35

2. Den næste besøgende kommer klokken 14:37, hvor den minuser 14:37 med 14:35 og finder ud af at der er under 5 min. forskel
- Kan desværre ikke selv finde ud af og lave det, men hvis du gider vil jeg blive meget glad.. :D
Avatar billede dvdrip.dk Nybegynder
08. december 2003 - 16:13 #24
Fandt en side med tids koder til php, hvis du skal bruge den http://www.zend.com/manual/function.date.php
Avatar billede nikolajdu Nybegynder
08. december 2003 - 16:28 #25
dvdrip.dk - Indlægget er fjernet.
Avatar billede dvdrip.dk Nybegynder
08. december 2003 - 16:45 #26
Takker, det var fordi jeg kom til at poste mit password i beskeden ;(
Avatar billede jakobclausen Nybegynder
08. december 2003 - 17:45 #27
dvdrip.dk >> Vil godt lige kigge på det, men det bliver bare ikke lige nu da der er noget af mit eget jeg lige skal have styr på.
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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