captcha

Programovacie jazyky, rady, poradňa...
qacer
Novice
Novice
Príspevky: 3
Registrovaný: 16 apr 2007, 8:13

Príspevok od používateľa qacer »

ulozis ten skript napr ako image.php...potom das na zobrazenie toho nahodneho retazca do nejakeho formu takto:
<img src="image.php" /> a das tam k tomu
odpiste retazec: <input type="text" name="slovo" />
potom po odoslani formu skontroilujes

Kód: Vybrať všetko

<?
session_start(); 
if ($_POST ['slovo']!=$_SESSION["cislo"])echo "Nesprávny reťazec";
else{
//retazec bol spravne odpisany, pokracujeme v spracovani
}
?>
ehm123
King
King
Príspevky: 1658
Registrovaný: 27 feb 2006, 6:45
Bydlisko: PD / Praha

Príspevok od používateľa ehm123 »

mno to je catpcha
WebScript
Medium Expert
Medium Expert
Príspevky: 118
Registrovaný: 04 okt 2009, 14:25

Príspevok od používateľa WebScript »

Chcel by som sa vás opýtať že či by ste mi nemohli pozreť php script, lebo mi stále píše po vložení tej captcha čo je vyššie: Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /home/www/webscript.biz/objednaj/objednaj.php on line 3

Tu je ten php skript:

Kód: Vybrať všetko

<? 
session_start();
if ($_POST ['slovo']!=$_SESSION["cislo"])echo "(mail("[email protected]","Vytvorenie novej subky", "
Meno: $meno 
URL stranky: $url 
Kapacita: $priestor MB 
FTP heslo: $ftpheslo 
MySql databazu: $mysql
MySql heslo: $mysql 
Email: $email
","From:$email"))

echo "<h2>Objednávka bola úspešne spracovaná, počkajte na odpoveď admina webu. </h2><p>(© WebScript.Biz)</p>"; 

else;

echo "Chyba! Prosím skúste to znovu."; 
endif;"; 
else;

echo "Chyba! Prosím skúste to znovu."; 
endif; 
?>
Už som zúfalý, bol by som veľmi vďačný za pomoc.
Ďakujem
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Nemáš problém s tým echom a úvodzovkami v úvodzovkách? (ak si si to chcel len vypísať, mal si namiesto mail dať echo)
WebScript
Medium Expert
Medium Expert
Príspevky: 118
Registrovaný: 04 okt 2009, 14:25

Príspevok od používateľa WebScript »

chrono napísal:Nemáš problém s tým echom a úvodzovkami v úvodzovkách? (ak si si to chcel len vypísať, mal si namiesto mail dať echo)
Nemohol by si mi to opraviť?
Ďakujem
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Ty chceš, aby sa ti tam zobrazil ten mail príkaz a parametre, alebo chceš ten email odoslať?
WebScript
Medium Expert
Medium Expert
Príspevky: 118
Registrovaný: 04 okt 2009, 14:25

Príspevok od používateľa WebScript »

Ja by som chcel že keď zadám správne captcha, tak mi tie informácie pošle na moj mail.
Vedel, a upravil by si mi to?
Ďakujem
Gepid
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1006
Registrovaný: 15 júl 2008, 16:54
Bydlisko: Trnava
Kontaktovať používateľa:

Príspevok od používateľa Gepid »

Tak si od odtiaľ zmaž to echo pred mail()
Btw. Nemal by byť tretí riadok takto:

Kód: Vybrať všetko

 if ($_POST ['slovo']==$_SESSION["cislo"])(mail("[email protected]","Vytvorenie novej subky", " 
WebScript
Medium Expert
Medium Expert
Príspevky: 118
Registrovaný: 04 okt 2009, 14:25

Príspevok od používateľa WebScript »

Chcel by som vás poprosiť či by mi niekdo pozrel tento skript, píše: Parse error: syntax error, unexpected T_ECHO in /home/www/webscript.biz/objednaj/objednaj.php on line 12

Tu je ten moj skript:

Kód: Vybrať všetko

<? 
if ($_POST ['slovo']==$_SESSION["cislo"])(mail("[email protected]","Vytvorenie novej subky", "
Meno: $meno 
URL stranky: $url 
Kapacita: $priestor MB 
FTP heslo: $ftpheslo 
MySql databazu: $mysql
MySql heslo: $mysqlheslo 
Email: $email
","From $email")

echo "Objednávka bola úspešne spracovaná počkajte na odpoveď admina webu"

else: 

echo "Chyba! Prosím skúste to znovu. Asi ste nezadali všteky potrebné údaje, ale ste zle opísali captcha."; 
endif; 
?>
A ešte jedna prozba, chcel by som sa spýtať že prečo mi nejde ten php skript image.php ? Ukazuje prázdnú stránku kde je napísané obrázok(http://objednaj.webscript.biz/image.php), ten fonf tam mám.
Tu je ten skript image.php :

Kód: Vybrať všetko

<? 
session_start(); 
$velkost_x = 150; 
$velkost_y = 45; 

$rndno = rand()*rand()*rand()*rand();    
$text = strtolower(substr(base_convert($rndno,10,36), 0, 5)); 

$miesto_na_znak = $velkost_x / ( strlen( $text ) + 1 ); 
//Tvorba plátna 
$obrazok = imagecreatetruecolor( $velkost_x, $velkost_y ); 
//Nastavenie farieb 
$pozadie = imagecolorallocate( $obrazok, 255,255,255); 
$okraj = imagecolorallocate( $obrazok, 128, 128, 128); 
$farby[] =  imagecolorallocate( $obrazok, 0, 0, 1); 
$farby[] =  imagecolorallocate( $obrazok, 64, 64, 64); 
$farby[] =  imagecolorallocate( $obrazok, 0, 60, 10); 
$ciarky =  imagecolorallocate( $obrazok, 128, 128, 128); 
//vyplenie pozadia 
imagefilledrectangle( $obrazok, 1, 1, $velkost_x - 2, $velkost_y - 2, $pozadie); 
for($i=0; $i < 400; $i++) { 
    $x1 = rand( 5, $velkost_x - 5); 
    $y1 = rand( 5, $velkost_y - 5); 
    $x2 = $x1 - 4 + rand(0, 8); 
    $y2 = $y1 - 4 + rand(0, 8); 
    imageline( $obrazok, $x1, $y1, $x2,$y2, $ciarky ); 
} 



//kreslenie textu 
for($i = 0; $i < strlen( $text); $i++) { 
    $farba = $farby[$i % count( $farby)]; 
    imagettftext( $obrazok, 28 + rand(0,5), -20 + rand(0,40), ($i + 0.3) * $miesto_na_znak, 35, $farba, 
    'acmesa.ttf.ttf', $text[$i]); 
} 

// uložení náhodného textu do session 
$_SESSION["cislo"] = $text; 

// hlavicka 
header('Cache-Control: no-cache'); 
header('Content-type: image/png'); 
imagepng($obrazok);   //PNG výstup 
?>
Ďakujem
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

za zátvorkou na riadku 12 ti chýba bodkočiarka. K drhuje otázke: určite sa ten tvoj font volá acmesa.ttf.ttf? Nedal si mu jednu príponu navyše?
WebScript
Medium Expert
Medium Expert
Príspevky: 118
Registrovaný: 04 okt 2009, 14:25

Príspevok od používateľa WebScript »

dik, ten image.php už funguje, ale teraz mi to píše chybu(v objednaj.php): Parse error: syntax error, unexpected T_ECHO in /home/www/webscript.biz/objednaj/objednaj.php on line 12

objednaj.php :

Kód: Vybrať všetko

<? 
if ($_POST ['slovo']==$_SESSION["cislo"])(mail("[email protected]","Vytvorenie novej subky", "
Meno: $meno 
URL stranky: $url 
Kapacita: $priestor MB 
FTP heslo: $ftpheslo 
MySql databazu: $mysql
MySql heslo: $mysqlheslo 
Email: $email
","From $email")

echo "Objednávka bola úspešne spracovaná počkajte na odpoveď admina webu";

else: 

echo "Chyba! Prosím skúste to znovu. Asi ste nezadali všteky potrebné údaje, ale ste zle opísali captcha."; 
endif; 
?>
Ďakujem
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

audiotrack napísal:za zátvorkou na riadku 12 ti chýba bodkočiarka. K drhuje otázke: určite sa ten tvoj font volá acmesa.ttf.ttf? Nedal si mu jednu príponu navyše?
ako inak ti to ešte mám napísať? :roll:
konkrétne tu (ak nevieš napočítať riadok 12):
if ($_POST ['slovo']==$_SESSION["cislo"])(mail("[email protected]","Vytvorenie novej subky", "
Meno: $meno
URL stranky: $url
Kapacita: $priestor MB
FTP heslo: $ftpheslo
MySql databazu: $mysql
MySql heslo: $mysqlheslo
Email: $email
","From $email");
WebScript
Medium Expert
Medium Expert
Príspevky: 118
Registrovaný: 04 okt 2009, 14:25

Príspevok od používateľa WebScript »

Teraz mi to píše:
Parse error: syntax error, unexpected ';' in /home/www/webscript.biz/objednaj/objednaj.php on line 10
Ďakujem
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

Kód: Vybrať všetko

<?
if ($_POST ['slovo']==$_SESSION["cislo"]){
mail("[email protected]","Vytvorenie novej subky", "
Meno: $meno
URL stranky: $url
Kapacita: $priestor MB
FTP heslo: $ftpheslo
MySql databazu: $mysql
MySql heslo: $mysqlheslo
Email: $email
","From: $email");

echo "Objednávka bola úspešne spracovaná počkajte na odpoveď admina webu";
} else {

echo "Chyba! Prosím skúste to znovu. Asi ste nezadali všteky potrebné údaje, alebo ste zle opísali captcha.";
}
?>
WebScript
Medium Expert
Medium Expert
Príspevky: 118
Registrovaný: 04 okt 2009, 14:25

Príspevok od používateľa WebScript »

Dik, už nepíše chybu, ale keď zadám všetko ako mám tak mi napíše Chyba! Prosím skúste to znovu. Asi ste nezadali všteky potrebné údaje, alebo ste zle opísali captcha.
Ja viem že už asi otravujem, ale to je všetko čo potrebujem, už dám pokoj.
Ďakujem, velmy moc
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

Buď neposielaš údaje cez post, alebo nemá ten formulárový prvok kde zadávaš captchu meno slovo. Na to by ale bolo treba vidieť formulár
WebScript
Medium Expert
Medium Expert
Príspevky: 118
Registrovaný: 04 okt 2009, 14:25

Príspevok od používateľa WebScript »

Tu je:

Kód: Vybrať všetko

<?php
 include("vseobecneinfo.php");
?>

<form action="objednaj.php" method="post">
<h3>Všeobecné info</h3><br>

<p> 
    Tu napíšte vaše meno
<input name="meno" size="25">
<br>
  </p>
<p> 
    URL adresa stránky
      http://www.<input type="text" maxlength="30" name="url" />.webscript.biz
  </p> 
<p> 
    Priestor pre web
      <input type="text" maxlength="4" name="priestor" />MB
  </p>
<p> 
    <img src="image.php" /> Odpíšte písmená s obrázka: 
      <input type="text" name="slovo" /> Toto pole je kvôli spambotom
  </p> 

<p> 
    <h3>FTP</h3><br>
    Heslo do ftp serveru
      <input type="password" name="ftpheslo" /> minimálne 3 znaky
  </p>
  
<p>
<h3>MySql</h3><br>
MySql databázá?
<select name="mysql">
<option>Ano</option>
<option>Nie</option>
</select>    
</p>
<p> 
    Heslo do MySql databázy
      <input type="password" name="mysqlheslo" /> minimálne 3 znaky
  </p>

  <h3>Email</h3><br>
Tu napíšte váš email
<input name="email" maxlength="50" size="25" value="email">
<br> 

  </p>
<input type="submit" name="odoslat" value="Hotovo"> 
  </p> 
</form> 
Viem že to nieje vôbec validné, ale to je iba zatial.
Ďakujem, stale mi pomahaš :)
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

skús si ešte v tom predchádzajúcom súbore vymazať medzeru medzi $_POST a ['slovo'] v riadku:

Kód: Vybrať všetko

if ($_POST ['slovo']==$_SESSION["cislo"]){ 
. Inak to vypadá dobre, ak to nepôjde tak daj na začiatok toho súboru kde posielaš mail riadky:

Kód: Vybrať všetko

var_dump($_POST);
var_dump($_SESSION);
a pošli mi zkopírovaný výstup zo stránky
WebScript
Medium Expert
Medium Expert
Príspevky: 118
Registrovaný: 04 okt 2009, 14:25

Príspevok od používateľa WebScript »

1. sposob - Skusal som to ale nic neslo to(to iste vypisovalo)
2. sposob - vypisalo to toto array(9) { ["meno"]=> string(4) "aaaa" ["url"]=> string(6) "aaaaaa" ["priestor"]=> string(4) "1998" ["slovo"]=> string(5) "A585A" ["ftpheslo"]=> string(7) "2009ftp" ["mysql"]=> string(3) "Ano" ["mysqlheslo"]=> string(7) "2009ftp" ["email"]=> string(18) "[email protected]" ["odoslat"]=> string(6) "Hotovo" } NULL Chyba! Prosím skúste to znovu. Asi ste nezadali všteky potrebné údaje, alebo ste zle opísali captcha.
Neviem v čom môže byť chyba.
Ďakujem
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

do objednaj.php pred riadok

Kód: Vybrať všetko

if ($_POST ['slovo']==$_SESSION["cislo"])(mail("admin@webscri ...
napíš session_start();
Napísať odpoveď