Δημιουργία CAPTCHA

Μια περιοχή όπου τα μέλη μας μπορούν να βάζουν τα PHP scripts που έχουν φτιάξει και θέλουν να τα μοιραστούν με τα υπόλοιπα μέλη.

Συντονιστές: Super-Moderators, WebDev Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
_Invisible_
Δημοσιεύσεις: 418
Εγγραφή: 16 Νοέμ 2006 16:47
Τοποθεσία: Greece

Δημιουργία CAPTCHA

Δημοσίευση από _Invisible_ » 18 Αύγ 2007 02:02

@xatzh: Λυπάμαι, αλλά δεν καταλαβαίνω τα greeklish σου. Ξέρω να διαβάζω greeklish, αλλά το κείμενό σου είναι πραγματικά μπερδεμένο. Δεν το λέω για να σε προσβάλω, αλλά ειλικρινά δεν μπόρεσα να καταλάβω τι πρόβλημα είχες.

Στείλε ότι κώδικα θα χρειαστούμε, και εξήγησε καλύτερα το πρόβλημα αν γίνεται.

xatzh
Δημοσιεύσεις: 15
Εγγραφή: 11 Αύγ 2007 16:15

Δημιουργία CAPTCHA

Δημοσίευση από xatzh » 18 Αύγ 2007 10:55

Παιδία ι σελίδα που 8ελο να προσαρμόσω το CAPTCHA έχει το παρακάτω κώδικα και λεγετε
registration.htm

Κώδικας: Επιλογή όλων

<link href="../../css/style.css" rel="stylesheet" type="text/css"> <form name="form1" method="post" action="">
  <table width="400" border="0" cellpadding="0" cellspacing="0" class="main-tables">
    <tr class="label-txt"> 
      <td width="228" bgcolor="#003333">&nbsp;</td>
      <td width="83" bgcolor="#003333">&nbsp;</td>
      <td width="487" bgcolor="#003333">&nbsp;</td>
  </tr>
  <tr class="label-txt"> 
      <td rowspan="2" bgcolor="#003333">&nbsp;</td>
      <td colspan="2" class="logo-txt" bgcolor="#003333">&nbsp;</td>
  </tr>
  <tr class="label-txt"> 
      <td bgcolor="#003333">&nbsp;</td>
      <td bgcolor="#003333">&nbsp;</td>
  </tr>
  <tr> 
      <td bgcolor="#003333">&nbsp;</td>
      <td class="label-txt" bgcolor="#003333"><font color="#FFFFFF"><b>Login&#58;</b></font></td>
      <td bgcolor="#003333">
        <input type="text" name="login" maxlength="10" size="16">
      </td>
  </tr>
  <tr class="label-txt"> 
      <td bgcolor="#003333">&nbsp;</td>
      <td bgcolor="#003333"><font color="#FFFFFF"><b>Password&#58;</b></font></td>
      <td bgcolor="#003333">
        <input type="password" name="password" maxlength="10" size="16">
      </td>
  </tr>
  <tr class="label-txt"> 
      <td bgcolor="#003333">&nbsp;</td>
      <td bgcolor="#003333"><font color="#FFFFFF"><b>Retype&#58;</b></font></td>
      <td bgcolor="#003333"> 
        <input type="password" name="password2" maxlength="10" size="16">
      </td>
  </tr>
  <tr class="label-txt"> 
      <td bgcolor="#003333">&nbsp;</td>
      <td bgcolor="#003333">&nbsp;</td>
      <td bgcolor="#003333"> 
        <input type="submit" name="Submit" value="Register">
      </td>
  </tr>
  <tr class="label-txt"> 
      <td bgcolor="#003333">&nbsp;</td>
      <td bgcolor="#003333">&nbsp;</td>
      <td bgcolor="#003333">&nbsp;</td>
  </tr>
 </table>
</form>
ας βοι8ισι κάποιος να τον βάλλω τον παρακάτω κώδικα αυτόν για να δούλεψη
(test.php:
κώδικας:

Κώδικας: Επιλογή όλων

<?php 

session_start&#40;&#41;; 

header&#40;"Content-type&#58; image/png"&#41;; 
$im = imagecreate&#40;50, 40&#41; or die&#40;"Cannot Initialize new GD image stream"&#41;; 
$background_color = imagecolorallocate&#40;$im, 255, 255, 255&#41;; 
$text_color = imagecolorallocate&#40;$im, 100, 90, 60&#41;; 

$rand_text = rand&#40;3049, 4059&#41;; 
$_SESSION&#91;'cpt'&#93; = md5&#40;$rand_text&#41;; 

imagestring&#40;$im, 5, 5, 5,  "$rand_text", $text_color&#41;; 
imagepng&#40;$im&#41;; 
imagedestroy&#40;$im&#41;; 

?> 
test_page.php:
κώδικας:

Κώδικας: Επιλογή όλων

<?php 

session_start&#40;&#41;; 


if &#40;! isset&#40;$_POST&#91;'submit_form'&#93;&#41; &#41; 
&#123; 
?> 
   <form action="test_page.php" method="post"> 
   Kodikos&#58; <input type="text" name="kodikos" size="15" /><br /> 
   <img src="test.php"><br /> 
   <input type="submit" name="submit_form" value="Submit!" /> 
   </form> 

<?php 
&#125; 
else if &#40; isset&#40;$_POST&#91;'submit_form'&#93;&#41; &#41; 
&#123; 
   if &#40; isset&#40;$_POST&#91;'kodikos'&#93;&#41; &#41; 
   &#123; 
      if &#40;md5&#40;$_POST&#91;'kodikos'&#93;&#41; == $_SESSION&#91;'cpt'&#93;&#41; 
      &#123; 
         echo 'kodikos correct &#58;D'; 
      &#125; 
      else 
      &#123; 
         echo 'kodikos not correct &#58;&#40;'; 
      &#125; 
   &#125; 
&#125; 


?> 
Ευχάριστο

Άβαταρ μέλους
_Invisible_
Δημοσιεύσεις: 418
Εγγραφή: 16 Νοέμ 2006 16:47
Τοποθεσία: Greece

Δημιουργία CAPTCHA

Δημοσίευση από _Invisible_ » 18 Αύγ 2007 19:23

registration.html

Κώδικας: Επιλογή όλων

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http&#58;//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http&#58;//www.w3.org/1999/xhtml" dir="ltr" lang="en">
<head>
	<title>Registration</title>
	<link href="../../css/style.css" rel="stylesheet" type="text/css" />
</head>
<body>

<form method="post" action="check_form.php">
<table width="400" border="0" cellpadding="0" cellspacing="0" class="main-tables">
<tr class="label-txt">
	<td width="228" bgcolor="#003333">&nbsp;</td>
	<td width="83" bgcolor="#003333">&nbsp;</td>
	<td width="487" bgcolor="#003333">&nbsp;</td>
</tr>
<tr class="label-txt">
	<td rowspan="2" bgcolor="#003333">&nbsp;</td>
	<td colspan="2" class="logo-txt" bgcolor="#003333">&nbsp;</td>
</tr>
<tr class="label-txt">
	<td bgcolor="#003333">&nbsp;</td>
	<td bgcolor="#003333">&nbsp;</td>
</tr>
<tr>
	<td bgcolor="#003333">&nbsp;</td>
	<td class="label-txt" bgcolor="#003333"><span style="font-weight&#58;bold; color&#58;#FFFFFF;">Login&#58;</span></td>
	<td bgcolor="#003333"><input type="text" name="login" maxlength="10" size="16" /></td>
</tr>
<tr class="label-txt">
	<td bgcolor="#003333">&nbsp;</td>
	<td bgcolor="#003333"><span style="font-weight&#58;bold; color&#58;#FFFFFF;">Password&#58;</span></td>
	<td bgcolor="#003333"><input type="password" name="password" maxlength="10" size="16" /></td>
</tr>
<tr class="label-txt">
	<td bgcolor="#003333">&nbsp;</td>
	<td bgcolor="#003333"><span style="font-weight&#58;bold; color&#58;#FFFFFF;">Retype&#58;</span></td>
	<td bgcolor="#003333"><input type="password" name="password2" maxlength="10" size="16" /></td>
</tr>
<tr class="label-txt">
	<td bgcolor="#003333">&nbsp;</td>
	<td bgcolor="#003333"><span style="font-weight&#58;bold; color&#58;#FFFFFF;">Captcha</span></td>
	<td bgcolor="#003333"><input type="text" name="captcha" maxlength="4" size="16" /></td>
</tr>
<tr class="label-txt">
	<td bgcolor="#003333">&nbsp;</td>
	<td bgcolor="#003333">&nbsp;</td>
	<td bgcolor="#003333"><img src="captcha.php" alt="" /></td>
</tr>
<tr class="label-txt">
	<td bgcolor="#003333">&nbsp;</td>
	<td bgcolor="#003333">&nbsp;</td>
	<td bgcolor="#003333">&nbsp;</td>
</tr>
<tr class="label-txt">
	<td bgcolor="#003333">&nbsp;</td>
	<td bgcolor="#003333">&nbsp;</td>
	<td bgcolor="#003333"><input type="submit" name="submit" value="Register" /></td>
</tr>
<tr class="label-txt">
	<td bgcolor="#003333">&nbsp;</td>
	<td bgcolor="#003333">&nbsp;</td>
	<td bgcolor="#003333">&nbsp;</td>
</tr>
</table>
</form>

</body>
</html>
captcha.php

Κώδικας: Επιλογή όλων

<?php

session_start&#40;&#41;;

header&#40;"Content-type&#58; image/png"&#41;;

if &#40; isset&#40;$_SESSION&#91;'captcha'&#93;&#41; &#41;
&#123;
	unset&#40;$_SESSION&#91;'captcha'&#93;&#41;;
&#125;

$im = imagecreate&#40;50, 30&#41; or die&#40;"Cannot Initialize new GD image stream"&#41;;
$background_color = imagecolorallocate&#40;$im, 255, 255, 255&#41;;
$text_color = imagecolorallocate&#40;$im, 100, 90, 60&#41;;

$rand_text = rand&#40;3049, 4059&#41;;
$_SESSION&#91;'captcha'&#93; = md5&#40;$rand_text&#41;;

imagestring&#40;$im, 5, 5, 5, $rand_text, $text_color&#41;;

imagepng&#40;$im&#41;;
imagedestroy&#40;$im&#41;;

?>
check_form.php

Κώδικας: Επιλογή όλων

<?php


// ksekiname to session, allios to captcha den 8a doulepsei.
session_start&#40;&#41;;

if &#40; !isset&#40;$_POST&#91;'submit'&#93;&#41; &#41;
&#123;
	die&#40;"Please submit the form."&#41;;
&#125;
else
&#123;
	// orizoume metablites me ta onomata ton pedion. An to pedio exei simpliro8ei
	// epistrefoume tin timi tou pediou, allios keni timi.
	$login = &#40; isset&#40;$_POST&#91;'login'&#93;&#41; && !empty&#40;$_POST&#91;'login'&#93;&#41; &#41; ? trim&#40;$_POST&#91;'login'&#93;&#41; &#58; '';
	$password = &#40; isset&#40;$_POST&#91;'password'&#93;&#41; && !empty&#40;$_POST&#91;'password'&#93;&#41; &#41; ? trim&#40;$_POST&#91;'password'&#93;&#41; &#58; '';
	$password2 = &#40; isset&#40;$_POST&#91;'password2'&#93;&#41; && !empty&#40;$_POST&#91;'password2'&#93;&#41; &#41; ? trim&#40;$_POST&#91;'password2'&#93;&#41; &#58; '';
	$captcha = &#40; isset&#40;$_POST&#91;'captcha'&#93;&#41; && !empty&#40;$_POST&#91;'captcha'&#93;&#41; &#41; ? trim&#40;$_POST&#91;'captcha'&#93;&#41; &#58; '';

	$required_fields = array
	&#40;
		'login', 'password', 'password2', 'captcha'
	&#41;;

	// me to foreach koitame sto array $required_fields
	// kai koitame an ola ta aparaitita pedia exoun simpliro8ei.
	foreach&#40;$required_fields as $field&#41;
	&#123;

		if &#40; !isset&#40;$_POST&#91;$field&#93;&#41; || empty&#40;$_POST&#91;$field&#93;&#41; &#41;
		&#123;
			die&#40;"Please enter all fields"&#41;;
		&#125;

	&#125;

	// elegxoume to mege8os ton pedion
	// login&#58; 10
	// password&#58; 10
	// password2&#58; 10
	// captcha&#58; 4

	if &#40; strlen&#40;$login&#41; > 10 &#41;
	&#123;
		die&#40;"Login field is too big."&#41;;
	&#125;

	if &#40; strlen&#40;$password&#41; > 10 &#41;
	&#123;
		die&#40;"Password field is too big."&#41;;
	&#125;

	if &#40; strlen&#40;$password2&#41; > 10 &#41;
	&#123;
		die&#40;"Password2 field is too big."&#41;;
	&#125;

	// Elegxos an oi kodikoi pou exoun do8ei einai idioi
	if &#40; $password != $password2 &#41;
	&#123;
		die&#40;"Passwords must be the same."&#41;;
	&#125;

	if &#40; strlen&#40;$captcha&#41; > 4 &#41;
	&#123;
		die&#40;"Captcha field is too big."&#41;;
	&#125;

	// Elegxos captcha
	// 1&#58; Elegxos an exei mono ari8mous
	// 2&#58; Elegxos an einai sosto me auto tou session.

	if &#40; !is_numeric&#40;$captcha&#41; &#41;
	&#123;
		die&#40;"Captcha field must be only numbers."&#41;;
	&#125;

	if &#40; md5&#40;$captcha&#41; != $_SESSION&#91;'captcha'&#93; &#41;
	&#123;
		die&#40;"Captcha verification failed."&#41;;
	&#125;

	// apo edo kai kato 8a baleis ton kodika pou 8a baleis ton user stin basi dedomenon
	// giati ola ta parapano pedia exoun simpliro8ei sosta.

	die&#40;"success"&#41;;

&#125;

?>
Υποθέτουμε ότι όλα αυτά τα αρχεία βρίσκονται στον ίδιο φάκελο. Όπως βλέπω από τον κώδικά σου έχεις βάλει ένα CSS, το οποίο δεν ξέρω αν είναι σωστό το path. Τέσπα, το άφησα και στον δικό μου κώδικα, οπότε αν δεν τον χρησιμοποιείς σβήστο ή άλλαξε το path στο σωστό.

Φιλικά,
invisible

xatzh
Δημοσιεύσεις: 15
Εγγραφή: 11 Αύγ 2007 16:15

Δημιουργία CAPTCHA

Δημοσίευση από xatzh » 19 Αύγ 2007 01:00

καλά μιλάμε δεν έχω λόγια τι να πω ευχάριστο θα δοκιμάσω να το κανό αν τα καταφέρω γιατί είμαι και λίγο άσχετος από αυτά άμα δεν τα καταφέρω κάνε μου μια χάρη και άσε το msn να μιλήσουμε να σου εξηγήσω τι ακριβός είναι γιατί άμα σουπο ότι
παλεύω 1 εβδομάδα με αυτό και τίποτα δεν έχω κανί μπας και με βοι8ισις και το τελειώσω και δουλεύει απογέματα μπορώ άμα θες βέβαια να μιλισοyμε ευχάριστο και πάλι.
:lol: :lol: :lol: :lol: :lol:


check_form.php δεν κατάλαβα που πάει αυτή ι φόρμα είμαι άσχετος

Άβαταρ μέλους
_Invisible_
Δημοσιεύσεις: 418
Εγγραφή: 16 Νοέμ 2006 16:47
Τοποθεσία: Greece

Δημιουργία CAPTCHA

Δημοσίευση από _Invisible_ » 19 Αύγ 2007 02:04

Το αρχείο check_form.php ελέγχει την φόρμα που βρίσκεται στην σελίδα registration.html. Όταν υποβάλεις την φόρμα που βρίσκεται στη σελίδα registration.html, τότε κάνει ένα request (αίτημα) στο αρχείο check_form.php για να ελέγξει τα στοιχεία της φόρμας.

Φίλε μου, καλό θα ήταν αφού δεν έχεις πολλές γνώσεις πάνω στο θέμα να αρχίσεις να διαβάζεις διάφορα tutorials και να αρχίσεις να κάνεις test. Το να κάνεις test μία βδομάδα χωρίς να έχεις διαβάσει κάποιο tutorial, κατά τη γνώμη μου είναι άδικος κόπος, γιατί αν δεν μάθεις το συντακτικό και πώς να κάνεις αυτό και εκείνο και αν δεν χρησιμοποιήσεις την φαντασία σου, τότε δεν προγραμματίζεις.

Μπορείς να ξεκινήσεις να διαβάζεις το manual στο http://php.net.

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

Δημιουργία CAPTCHA

Δημοσίευση από panosru » 20 Αύγ 2007 03:58

xatzh, tous kodikes tous bazeis se code tags tou phpbb oxi se parentheseis.

PS: Kane kati me thn orthografia sou man!!

xatzh
Δημοσιεύσεις: 15
Εγγραφή: 11 Αύγ 2007 16:15

Δημιουργία CAPTCHA

Δημοσίευση από xatzh » 24 Αύγ 2007 15:06

To link afairethike

telika den ebgala akri opios mpori na boi8isi to anebasa edo na to katebasi na to kitaksi ke as mou pi ty pedia :lol:

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

Δημιουργία CAPTCHA

Δημοσίευση από panosru » 24 Αύγ 2007 15:58

To link pou anebases den exei na kanei me to olo thema. Anebases oloklhro server me baseis plhrofories arxeia ktl, kanonika tha eprepe na prosexeis ligo giati exeis eyaisthites plhrofories mesa opos kodikous gia baseis dedomenon ktl. To mono pou exeis na kaneis opos sou ypodiksane eidh einai n' allakseis ena path. Thats all.

Άβαταρ μέλους
parianos
Δημοσιεύσεις: 79
Εγγραφή: 17 Οκτ 2009 21:04
Επικοινωνία:

Δημιουργία CAPTCHA

Δημοσίευση από parianos » 04 Αύγ 2010 02:37

kalhspera se olous, exo ftiaksei kai ego ena diko mou captcha, bebaia eimai arketa beginer, opote sigoura tha yparxoun kalutera apla tha hthela na mou peite th gnomh sas, mporo na to anebaso?rotao epeidh hdh uparxoun kai alla..edo...


Απάντηση

Επιστροφή στο “PHP τα δικά μας scripts”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες