Pereiti prie turinio

Automatinis teksto sugeneratorius


Rekomenduojami pranešimai

Sveiki, iškilo klausimas, kaip padaryt, kad php kodas pats sugeneruotų tam tikrus simbolius.

Pvz, 5 simbolius sudėtus tik iš skaičių arba raidžių.

Kažkas panašaus būna kaip apsaugos prieš registruojantis (būna ir su paveiksliuku).

 

O gal čia visai ne php reik? o.O

Redagavo doncatas
Nuoroda į pranešimą
Dalintis kituose puslapiuose

function random_gen($length)
{
 $random= "";
 srand((double)microtime()*1000000);
 $char_list = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
 $char_list .= "abcdefghijklmnopqrstuvwxyz";
 $char_list .= "1234567890";
 // Add the special characters to $char_list if needed

 for($i = 0; $i < $length; $i++)
 {
   $random .= substr($strset,(rand()%(strlen($strset))), 1);
 }
 return $random;
}

 

 

function genRandomString() {
   $length = 10;
   $characters = ’0123456789abcdefghijklmnopqrstuvwxyz’;
   $string = ”;    

   for ($p = 0; $p < $length; $p++) {
       $string .= $characters[mt_rand(0, strlen($characters))];
   }

   return $string;
}

Redagavo Fantasya
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Sveiki, iškilo klausimas, kaip padaryt, kad php kodas pats sugeneruotų tam tikrus simbolius.

Pvz, 5 simbolius sudėtus tik iš skaičių arba raidžių.

Kažkas panašaus būna kaip apsaugos prieš registruojantis (būna ir su paveiksliuku).

 

O gal čia visai ne php reik? o.O

 

http://php.net/manual/en/function.str-shuffle.php

Nuoroda į pranešimą
Dalintis kituose puslapiuose
  • Administratoriai

function genRandomString() {
   $length = 10;
   $characters = '0123456789abcdefghijklmnopqrstuvwxyz';
   $string = '';    

   for ($p = 0; $p < $length; $p++) {
       $string .= $characters[mt_rand(0, strlen($characters))];
   }

   return $string;
}

šis kodas nėra teisingas... reiktų papildyti taip:

function genRandomString() {
   $length = 10;
   $characters = ’0123456789abcdefghijklmnopqrstuvwxyz’;
   $string = ”;    

   for ($p = 0; $p < $length; $p++) {
       $string .= $characters[mt_rand(0, (strlen($characters)-1))];
   }

   return $string;
}

 

 

O realiai, tai pakanka ir paprastos eilutės:

<?php
echo substr(md5(uniqid()),0,5);
?>

Redagavo Arius
Nuoroda į pranešimą
Dalintis kituose puslapiuose

nu tai vėl grįžtu prie klausimo. tarkim aš pasidarau tą saugos kodą (imu lengviausią kodą: Ariaus).

Padarau <form> su kodo įvedimu ir button'u "įvesti".

Bet kai paspaudi "įvesti" perkrovus puslapį automatiškai pasikeičia kodas ir tada man nebeatitinka:

$saugos_kodas == $saugos_kodas_ivesti

, nes saugos kodas perkrovus web pasikeičia...

Kaip taisyt? atidarius puslapį įvest saugos kodą į *.txt ir paspaudus mygtuką, kad lygintų su *.txt faile esančiu įrašu? Siųlykit savo variantus :)

Redagavo doncatas
Nuoroda į pranešimą
Dalintis kituose puslapiuose

nu tai vėl grįžtu prie klausimo. tarkim aš pasidarau tą saugos kodą (imu lengviausią kodą: Ariaus).

Padarau <form> su kodo įvedimu ir button'u "įvesti".

Bet kai paspaudi "įvesti" perkrovus puslapį automatiškai pasikeičia kodas ir tada man nebeatitinka:

$saugos_kodas == $saugos_kodas_ivesti

, nes saugos kodas perkrovus web pasikeičia...

Kaip taisyt? atidarius puslapį įvest saugos kodą į *.txt ir paspaudus mygtuką, kad lygintų su *.txt faile esančiu įrašu? Siųlykit savo variantus :)

cookis, sesija yra tam

Nuoroda į pranešimą
Dalintis kituose puslapiuose
  • Administratoriai

man kai tokiam protingam, tas nieko nepasako. be pavyzdžio nesuprasiu :D lauksiu kieno nors išsamesnio atsakymo :D

yra toks senas geras daiktas - php manualas, parsisiųsti gali iš čia http://www.php.net/download-docs.php siūlyčiau naudoti .chm plėtinį, man asmeniškai patogiau...

 

atsidarius pasirink INDEX tabą ir pačiame viršuje pamatysi "$_COOKIE" ... "$_SESSION", tas vietas gerai paskaitinėk ;) suprantu, kad fainiau, kai paduoda sukramtytą, bet pačiam bus geriau kai pasimokinsi ;)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

captcha.php failas:

Čia kur: $NewImage = imagecreatefromjpeg("captcha_bg.jpg");

Tai reikia pasikeisti į savo paveikslėlį, ta prasme backgroundą. Pvz 100px ant 30px ar pan.

 

<?php
session_start();

$RandomStr = md5(microtime());

$ResultStr = substr($RandomStr, 0, 5);

$NewImage = imagecreatefromjpeg("../images/captcha_bg.jpg");

$LineColor = imagecolorallocate($NewImage, 233, 239, 239);
$TextColor = imagecolorallocate($NewImage, 255, 255, 255);

imageline($NewImage, 1, 1, 40, 40, $LineColor);
imageline($NewImage, 1, 100, 60, 0, $LineColor); 

imagestring($NewImage, 5, 20, 10, $ResultStr, $TextColor);

$_SESSION['captcha-key'] = $ResultStr;

header("Content-type: image/jpeg");

imagejpeg($NewImage);
?>

 

index.php failas:

<?php
session_start();

$captchaKodas = $_SESSION['captcha-key'];

if(isset($_POST["submit"])){
$kodas = $_POST['captcha'];

if($kodas !== $captchaKodas){
	echo "<p>Neteisingas kodas</p>";
} else {
	echo "<p>Kodas teisingas</p>";
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="lt" lang="lt">
<head>
	<title>Captcha testas</title>
	<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<body>
<form action="" method="post">
	<label>Saugos kodas:</label>
	<!-- Captcha.php -->
	<img src="captcha.php" /><br />
	<!-- /Captcha.php -->
	<label for="captcha">Įrašykite saugos kodą:</label>
	<input type="text" name="captcha" id="captcha" style="width: 150px; padding: 6px; font-size: 16px; font-weight: bold; border: 1px solid #CCC;" /><br />
	<input type="submit" name="submit" value="TIKRINTI !" />
</form>
</body>
</html>

 

Patikrinau, viskas ok

Redagavo Domus
Nuoroda į pranešimą
Dalintis kituose puslapiuose

na štai pasidariau su session. ačiū už patarimus :)

beje kai kūriau tą kodą, man session_start(); metė error(kažką su ...headers aleary sent...), tai aš į skliaustus įrašiau error_reporting(0), nes viskas veikė, tik tiek kad metė error.

Redagavo doncatas
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...