Avatar billede dkmickey Nybegynder
17. juni 2006 - 20:40 Der er 35 kommentarer og
1 løsning

Hjælp til JavaScript på PHP side?

Hejsa PHP eksperter,
jeg er ny til PHP så er ikke så meget inde i hvordan man får JavaScript til at virke på en PHP side, så håber der er nogle der vil hjælpe mig?

Hvad skal side?

Man sendes til siden med variablen $pi, som er en variabel for et billede, og variablen skal bevares til den næste side man sendes til. Sidens idé er at den besøgende skal klikke på et reklamelink for derefter at kunne komme videre.

Mit forkerte script nogenlunde således ud:

<SCRIPT>
Click1=0;

function Click() {
if (Click1==0)
{
  alert("Klik først på annoncelinket!");
}
else
{
location.href="<?php <a href=\"http://www.mobilmedia.dk/getgate.php?pi=$pi\">Klik her</a> ?>">
}
}
</SCRIPT>

<?php
echo "<a href=\"http://her-kommer-et-reklamelink.dk/reklame_link" target=new onClick="Click1=1">Aktiver linket!</a> |
<a href="java script:Click()">Hent nu!</a> ?>


Håber der er nogle der kan hjælpe, hvis der er nogle spørgsmål så skriv endelig!

På Forhånd Tusind Tusind tak!

Med Venlig Hilsen
DKMickey
Avatar billede jakobdo Ekspert
17. juni 2006 - 20:57 #1
Jeg ved ikke om det er helt ved siden af...
Men måske noget i stil med:

<?php
//http://www.eksperten.dk/spm/716062

echo '<a href="716062_action.php?banner=12">Vis reklame først</a><br />';
echo '<a href="716062_action.php?id=12">Prøv at snyd her</a>';

?>

og:

<?php
//http://www.eksperten.dk/spm/716062
session_start();

if(is_numeric($_GET['banner']))
{
    $_SESSION['banner'][$_GET['banner']] = true;
    echo 'Vi viser noget reklame<br />';
    echo '<a href="716062_action.php?id=12">Gå videre</a>';
}
else
{
    if($_SESSION['banner'][$_GET['id']] == true)
    {
        echo 'Det er ok at hente filen eller vise indhold med ID: ' . $_GET['id'] . '<br />';
    }
    else
    {
        echo 'Ikke snyde, der er sendt en besked til webmasteren med info om ID, IP og lign... (bare noget man kunne skrive)';
    }
}

?>

Du kan prøve scriptet her: http://www.codebreaker.dk/exp/716062.php
Avatar billede dkmickey Nybegynder
17. juni 2006 - 21:15 #2
Ser rigtig godt ud!
Kan du gøre sådan så den variabel, der kommer fra forrige side (variablen $pi), forbliver som variabel til næste side, da variablen også skal bruges der? Reklamelinket, linker direkte til en reklame side, og indeholder derfor ikke "gå videre", men derimod reklamens side, derfor skal reklamelinket blot komme som en popup, og derefter aktiveres "Hent nu!" linket, der indeholder variablen $pi?

Håber det var klart nok, blev lidt bøvlet, skal bare have det til at virke som ønsket så lover jeg dig de 100 points!

Tusind tak for din hjælp!

Med Venlig Hilsen
DKMickey
Avatar billede dkmickey Nybegynder
17. juni 2006 - 21:17 #3
Hov 60 points ;) Gik lidt stærkt...
Avatar billede jakobdo Ekspert
17. juni 2006 - 21:23 #4
Det med popup, det ville jeg nok lave sådan her så:

<script>
window.open('dinkode.php?id=12');
</script>

I koden dinkode.php
Har du så:

<?php
session_start();
$_SESSION['banner'][$_GET['id']] = true;
header('Location: www.reklame.dk');
exit();
?>

Så vil den sætte session, og reklamen åbnes.
Avatar billede dkmickey Nybegynder
17. juni 2006 - 21:26 #5
Okay tak, kom til at bemærke at man kan klikke på "hent nu" linket, før man har klikket på reklamelinket, er det fordi jeg har klikket på det før, at jeg så nu stadig kan komme ind på den uden at klikke på reklamelinket først?
Avatar billede jakobdo Ekspert
17. juni 2006 - 21:31 #6
Ja, det er fordi den gemmer sessions.
Avatar billede jakobdo Ekspert
17. juni 2006 - 21:33 #7
For at fjerne session, kan du lukke din browser og så åbne siden igen.
Avatar billede dkmickey Nybegynder
17. juni 2006 - 21:44 #8
Okay tusind tusind tak.
Har lidt svært ved at se mig ud af det, så skal lige side og arbejde lidt i det her til aften, så håber du holder lidt øje med tråden hvis der kommer flere spørgsmål i aften eller i morgen?

Med Venlig Hilsen
DKMickey
Avatar billede jakobdo Ekspert
17. juni 2006 - 21:48 #9
Jeg har heldigvis ikke noget liv, så skal nok følge med herinde! :o)
Avatar billede dkmickey Nybegynder
17. juni 2006 - 21:56 #10
Er gået lidt i stå allerede desværre? Blev lidt forvirret af rettelserne med banneret, vil du ikke skære det helt ud i pap, altså med på side 1 skal du indsætte... osv.? Så skal jeg nok give 100 points istedet for 60?

Forresten det med sessions, gør vil ikke at anden gang man vil hente et billede, at man unden at klikke, kan hente, eller?

Undskyld de mange spørgsmål, er lidt pinlig over det, men er virkelig glad for du kan og vil hjælpe mig!

Med Venlig Hilsen
DKMickey
Avatar billede dkmickey Nybegynder
17. juni 2006 - 21:57 #11
Hehe, perfekt! Er jeg virkelig glad for, altså, ikke at du siger du ikke har noget liv, men at du vil hjælpe ;) hehe!
Avatar billede jakobdo Ekspert
17. juni 2006 - 22:12 #12
;o)
Avatar billede dkmickey Nybegynder
17. juni 2006 - 22:20 #13
Vil du ikke lige skære det ud i pap for en PHP Newbie? Tabte lidt tråden ved rettelsen, kan du ikke skrive hvad der skal skrives på hvilken side osv. så opretter jeg et ekstra point tråd så du kan få 100points ialt?

På Forhånd tak!

- DKMickey
Avatar billede jakobdo Ekspert
17. juni 2006 - 22:37 #14
Jeg har nu prøvet at samle alt i en fil, måske det er lidt lettere at forstå så?

<?php
//http://www.eksperten.dk/spm/716062
session_start();

if(is_numeric($_GET['banner']))
{
    $_SESSION['banner'][$_GET['id']] = true;
    echo 'Vi skal vise reklame';
    echo 'Du kan nu lukke vinduet og se eller hente hvad du nu har gang i';
}
else
{
    if(is_numeric($_GET['id']))
    {
        if($_SESSION['banner'][$_GET['id']] == true)
        {
            echo 'Du m&aring; gerne se eller hente hvad du nu har gang i';
        }
        else
        {
        header('Location: '.$_SERVER['PHP_SELF'].'?banner='.$_GET['id']);
        exit();
      }
    }
    else
    {
        echo '<a target="_blank" href="'.$_SERVER['PHP_SELF'].'?id=12">G&aring; videre</a><br />';
    }
}

?>

Test den her: www.codebreaker.dk/exp/716062a.php
Avatar billede dkmickey Nybegynder
17. juni 2006 - 23:34 #15
Ja meget lettere tak (:
Men nu er der kun et link? Mangler der ikke selve download linket? Eller er det mig der har overset noget?

Du må virkelig undskylde jeg er så tung at danse med!

Med Venlig Hilsen
DKMickey
Avatar billede jakobdo Ekspert
18. juni 2006 - 07:36 #16
Det er samme link.
Linket aktivere først reklamen, når reklamen er vist, så kan du klikke på linket igen, og du henter filen eller viser det beskyttede indhold.
Avatar billede dkmickey Nybegynder
18. juni 2006 - 11:26 #17
Okay, kan du ikke lave det af 2 links please?
Første Link som popup, hvor linket går til eksterne side, altså ikke en side på min server, og som aktivere det andet link, der skal sendes til en ny side med variablen $pi, som er variablen for hviklet billede der skal vise på næste side?
Avatar billede jakobdo Ekspert
18. juni 2006 - 20:11 #18
Det bliver ikke lige i aften...
Avatar billede dkmickey Nybegynder
18. juni 2006 - 21:10 #19
Det er helt okay, du skal selvfølgelig nok få ekstra points for din kæmpe hjælp!

På forhånd tusind tusind tak!

Med Venlig Hilsen
DKMickey
Avatar billede jakobdo Ekspert
18. juni 2006 - 21:15 #20
Når jeg lige får tiden, skal jeg som sagt nok prøve at lave noget kode til dig.
Men prøv evt. at beskriv helt præcist hvordan du vil have proceduren skal være, måske du får det delt ned i mange små dele, og selv kan kode det.
Hvis ikke, så får du det forklaret til mig, så jeg kan lave det lige som du ønsker.
Avatar billede dkmickey Nybegynder
18. juni 2006 - 21:50 #21
Okay jeg skal nok prøve at lave det lidt tydeligere denne gang, det skal bare være så simpelt som muligt nemlig. Først vil jeg lige beskrive hvordan og hvorledes det skal virke.

MobilMedia er en hjemmeside, hvor du kan hente div. media indhold til mobiltelefoner, som gratis wallpapers, ringetoner osv.

Når man ønsker at downloade en wallpapers, klikker man på billedet af det og man sendes til pay.php med billede variablen $pi (eks. http://www.mobilmedia.dk/pay.php?pi=3D001). Nu kommer man til "pay-siden", som giver brugeren 2 valgmuligheder, endten at vente 30sek. og overføres automatisk, ELLER klikke på et reklame-tekst-link, som er et eksternt link til annoncør hos et reklameprogram, og derefter aktiveres linket "Hurtigt videre", som sender brugeren videre med samme billedevariabel $pi (eks. http://www.mobilmedia.dk/get.php?$pi)

Resten er lavet, det er bare lige den vigtige "pay-side" jeg har haft problemer med nemlig.

Dertil har jeg et lille ønske, som du kun skal gøre hvis du har lyst, og vil gerne betale dig mange 100 points hvis det er noget du har lyst til at lave også. Eftersom brugerne forhåbenligt henter mere end en ting på min hjemmeside, vil de være fedt hvis reklame-tekst-linket (der aktivere "hurtigt videre-linket"), kunne lave således at første gang man klikker på linket, linker man til reklame 1, anden gang man så bruger siden inden for samme dag, linkes der til reklame 2 osv., således at brugeren ikke klikker 2 gange på samme reklame-tekst-link? Er det noget du kan lave for mig, kan muligvis godt give en lille "skelling" hvis det er nødvendigt?

Tak for din store hjælp indtil nu, håber du har tid til at kigge på det hurtigst muligt, hvis du kan gøre det for points, vil jeg gerne give dig 500points for hele opgaven?!

Med Venlig Hilsen
Mike Nedergaard Andersen
Avatar billede dkmickey Nybegynder
20. juni 2006 - 16:36 #22
jakobdo? Vil du kigge på det, for mig?

Mvh. Mike
Avatar billede jakobdo Ekspert
20. juni 2006 - 17:38 #23
Ja, men kan ikke helt finde en smart måde på det.
Men jeg må vel prøve.
Kan du ikke kode noget php selv?
Det ville nok være lidt lettere hvis du selv kodede lidt, og jeg måske kom med ideer! :o) (så skal jeg ikke kode så meget)
Avatar billede dkmickey Nybegynder
20. juni 2006 - 19:22 #24
Ja altså, ved ikke helt hvordan jeg skal gribe det an desværre? Er helt ny inden for PHP nemlig, og havde håbet man let kunne indbygge JavaScriptet kunne ombygges let til PHP?

Håber du vil hjælpe, vil gerne give dig 500 points, reklameplads, en skelling eller andet hvis du vil lave det for mig, vil bare være perfekt hvis du kan finde tid i løbet af den her uge, eller kommende uge?

Krydser fingre!
Avatar billede jakobdo Ekspert
20. juni 2006 - 19:27 #25
500 point, den går ikke! (det er imod reglerne)
Men lad os se på det.
Avatar billede dkmickey Nybegynder
20. juni 2006 - 19:53 #26
Nå okay, helt iorden, det syntes jeg ellers var retfærdigt at du min. skulle have hvis du kunne lave det for mig? Ja håber vi kan få lavet det!

Med Venlig Hilsen
Mike
Avatar billede jakobdo Ekspert
20. juni 2006 - 21:47 #27
Så blev det kigget lidt mere på det.
Prøv at se her: http://www.codebreaker.dk/exp/mobilmedia/index.php
Avatar billede dkmickey Nybegynder
21. juni 2006 - 13:51 #28
Det er virkelig godt, helt perfekt!
Kan kun finde en ting jeg syntes skulle have været anderledes, det var blot at reklamen skulle komme som pop-up, ellers er det helt perfekt jakobdo!
Avatar billede jakobdo Ekspert
21. juni 2006 - 13:56 #29
Popup tænkte jeg også på, men det kan jo deaktiveres.
Så jeg tænkte du evt. kunne lave det i et iframe eller på anden måde.
Men det er nemt at lave det som popup, blot tilføj: <script> window.open('reklame.php?id=1')</script>
Avatar billede jakobdo Ekspert
21. juni 2006 - 13:56 #30
Vil du have koden og rette den til?
Avatar billede dkmickey Nybegynder
21. juni 2006 - 14:02 #31
Okay ja det kunne man også gøre med iframe, var en god idé!
Ja vil jeg meget gerne, hvor mange points må jeg give dig for det her? Er virkelig taknemmelig! Virkelig!
Avatar billede jakobdo Ekspert
21. juni 2006 - 14:40 #32
Disse 4 filer lægger du i en mappe.
I den mappe laver du 2 dir:
images = fullsize billeder, husk at lægge en .htaccess fil i mappen, som indeholder: deny from all
thumbs = thumbs af fullsize billederne, skal have navnet: thumb_samme_navn_som_billede.jpg

<?php
//index.php
//http://www.eksperten.dk/spm/716062
session_start();

$curPath = getcwd();
$imgPath = "/images/";
$tmbPath = "/thumbs/";

$getImg = $_GET['image'];
if(preg_match('/pic\\d{5}\\.jpg/', $getImg))
{
    if(is_array($_SESSION['allowedPics']))
    {
        if(isset($_SESSION['allowedPics'][$getImg]))
        {
            if($_SESSION['allowedPics'][$getImg] <= time())
            {
                //Personen må hente den ønskede fil
                echo 'Du kan nu downloade filen: <img src="image.php?image=' . $getImg . '"><br />';
            }
            else
            {
                //Personen må hente den ønskede fil
                echo 'Du kan downloade filen om ' . ($_SESSION['allowedPics'][$getImg]-time()) . ' sekunder : <a href="index.php?image='.$getImg.'"><img src=".' . $tmbPath . "thumb_" . $getImg . '"></a><br />';
            }
        }
        else
        {
            //Personen har været her før, men må ikke hente den ønskede fil
            echo 'Du skal nu v&aelig;lge hvordan du vil g&oslash;re dig fortjent til at hente billedet<br />';
            echo '<a href="reklame.php?image='.$getImg.'">Se Reklame</a><br />';
            echo '<a href="vent30sek.php?image='.$getImg.'">Vent 30 sekunder</a>';
        }
    }
    else
    {
        //Personen må ikke hente den ønskede fil
        echo 'Du skal nu v&aelig;lge hvordan du vil g&oslash;re dig fortjent til at hente billedet<br />';
        echo '<a href="reklame.php?image='.$getImg.'">Se Reklame</a><br />';
        echo '<a href="vent30sek.php?image='.$getImg.'">Vent 30 sekunder</a>';
    }
}
else
{
    foreach (glob($curPath . $imgPath . "{*.jpg,*.JPG}", GLOB_BRACE) as $filename)
    {
        $image = basename($filename);
        $thumb = $curPath . $tmbPath . "thumb_" . $image;
        if(file_exists($thumb))
            echo '<a href="'.$_SERVER['PHP_SELF'].'?image=' . $image . '"><img src=".' . $tmbPath . "thumb_" . $image . '"></a><br />';
    }
}

?>

<?php
//vent30sek.php
//http://www.eksperten.dk/spm/716062
session_start();

$curPath = getcwd();
$imgPath = "/images/";
$tmbPath = "/thumbs/";

$getImg = $_GET['image'];
if(preg_match('/pic\\d{5}\\.jpg/', $getImg))
{
    if(isset($_SESSION['allowedPics'][$getImg]))
    {
        header('Location: index.php?image=' . $getImg);
        exit();
    }
    else
    {
        $_SESSION['allowedPics'][$getImg] = time() + 30;
        echo 'Du kan downloade filen om 30 sekunder : <a href="index.php?image='.$getImg.'"><img src=".' . $tmbPath . "thumb_" . $getImg . '"></a><br />';
    }
}

?>

<?php
//reklame.php
//http://www.eksperten.dk/spm/716062
session_start();

$curPath = getcwd();
$imgPath = "/images/";
$tmbPath = "/thumbs/";

$getImg = $_GET['image'];
if(preg_match('/pic\\d{5}\\.jpg/', $getImg))
{
    if(!$_SESSION['allowedPics'][$getImg])
    {
        $_SESSION['reklame']++;
    }
    $_SESSION['allowedPics'][$getImg] = time();
    echo 'Vi skal vise reklame nummer: <b> REKLAME - ' . $_SESSION['reklame'] . '</b><br /';
    echo 'Du må nu hente billedet <a href="index.php?image='.$getImg.'"><img src=".' . $tmbPath . "thumb_" . $getImg . '"></a><br />';
}

?>

<?php
//image.php
//http://www.eksperten.dk/spm/716062
session_start();

function LoadJpeg($imgname)
{
    $im = @imagecreatefromjpeg($imgname); /* Attempt to open */
    if (!$im)
    {
        /* See if it failed */
        $im  = imagecreate(150, 30); /* Create a blank image */
        $bgc = imagecolorallocate($im, 255, 255, 255);
        $tc  = imagecolorallocate($im, 0, 0, 0);
        imagefilledrectangle($im, 0, 0, 150, 30, $bgc);
        /* Output an errmsg */
        imagestring($im, 1, 5, 5, "Error loading $imgname", $tc);
    }
    return $im;
}


$curPath = getcwd();
$imgPath = "/images/";
$tmbPath = "/thumbs/";

$getImg = $_GET['image'];
if(preg_match('/pic\\d{5}\\.jpg/', $getImg))
{
    if(is_array($_SESSION['allowedPics']))
    {
        if($_SESSION['allowedPics'][$getImg] <= time())
        {
            //Personen må nu få vist den ønskede fil
            header("Content-type: image/jpg");
            $im = LoadJpeg($curPath . $imgPath . $getImg);
            imagejpeg($im);
            imagedestroy($im);
            exit();
        }
    }
}

header('Location: index.php');
exit();

?>
Avatar billede jakobdo Ekspert
21. juni 2006 - 14:40 #33
Og et svar!
Jeg synes du skal give de point du selv har lyst til, men ikke over 200, da det er absolut max.
Avatar billede dkmickey Nybegynder
21. juni 2006 - 14:44 #34
Tusind tak, du skal ihvertfald have 200points!
Hvordan giver jeg dig de ekstra points, starter jeg bare en ny tråd og opretter den som ekstra points til jakobdo?

Og tusind tusind tak for hjælpen!

Med Venlig Hilsen
Mike
Avatar billede dkmickey Nybegynder
21. juni 2006 - 15:00 #35
http://www.eksperten.dk/spm/716782 > Her er dine 140 ekstra points!

Mvh. Mike
Avatar billede jakobdo Ekspert
21. juni 2006 - 15:39 #36
Takker for point.
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