Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Koodi->Lataa tiedosto...

CoolC++ [17.08.2007 09:21:41]

#

Kysäisisin, että tehää sellainen, että jos vaikkapa tietty sivustolla oleva tiedosto sisältää koodi laatikon, johon pitää syöttää koodi ja jos koodi on oikein antaa selaimen ladata *.zip tiedoston ja tähän voi halutessa sitten vaikkapa lisätä kuva laatikon, joka näyttää käyttäjälle, että mikä koodi tulee syöttää laatikkoon ja tietenkin olisi hyvä ominaisuus se, että kun koodi on kerran syötetty niin kyseinen koodi ei ole enään voimassa!?

Quirzo [17.08.2007 21:13:49]

#

Tein itse niin, että on omatekemäni php tiedosto, joka luo kuvan ja asettaa kuvassa olevan numeron sessioniin ja näyttää sen sivulla.
Sitten kun käyttäjä on kirjoittanut sen numeron ja painaa lataa -nappia niin se tarkistaa sessionista onko se oikein.

Tässä suoraan copypaste omista vanhoista sivuista.

**kuva.php - Laitetaan sivulle ihan normaalisti <img> tagilla.
<?php

// Set the content-type
header("Content-type: image/png");

// Create the image
$im = imagecreatetruecolor(40, 20);

// Create some colors
$bg = imagecolorallocate($im, 156,165,50);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 40,20, $bg);

$code = rand(1345,9486);
session_register("Koodi2");
$_SESSION['Koodi2'] = $code;
// The text to draw
$text = $_SESSION['Koodi2'];
// Replace path by your own font path
$font = 'tähän_fontin_url_jonka_olet_siirtanyt_palvelimelle.ttf';

// Add some shadow to the text
imagettftext($im, 15, 0, 5,15, $grey, $font, $text);

// Add the text
imagettftext($im, 15, 0, 3, 15, $black, $font, $text);

// Using imagepng() results in clearer text compared with imagejpeg()
imagepng($im);
imagedestroy($im);
?>

Sitten pitää olla se sivu, millä tiedot tarkistetaan, eli teet formin missä on text ja submit. Tässä päästä heitettyä koodia:

**lataa.php
<?php
session_start();

if($_SESSION['Koodi2'] == $_POST['koodi']){
   //tiedoston lataus (koodi on ok)
   echo 'ok';
}
else{
   echo 'Kirjoita tässä kuvassa oleva koodi: <img src="koodi.php" alt="koodi"/><br/><form method="post"><input type="text" name="koodi"/><input type="submit" value="Lataa"/></form>';
}
?>

Nämä koodit on siis testaamattomia

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta