Captcha qui reponds toujours code incorrect

Signaler
Messages postés
12
Date d'inscription
vendredi 4 février 2011
Statut
Membre
Dernière intervention
8 septembre 2011
-
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
-
bonjour,j'ai deux erreurs que je ne comprends pas avec un script captcha:
1er erreur:
mon formulaire reponds toujours code incorrect
2eme erreur:
Warning: Cannot modify header information - headers already sent by
Warning: imagepng(): supplied argument is not a valid Image resource
vous avez un idée?
merci de votre aide

15 réponses

Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
15
bonsoir

ton code qui crée l'image est pas bon

si tu as un, des echo dans ce script ? enléve les
Warning: Cannot modify header information - headers already sent by

un argument qui n'est pas valable dans cette fonction
Warning: imagepng( ici ): supplied argument is not a valid Image resource

le code ?

a++
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
15
http://www.phpcs.com/forum/sujet-FORMULAIRE-PHP-HTLM-CAPTCHA_1499107.aspx

j'ai repondu peu à une question du même genre
Messages postés
11
Date d'inscription
vendredi 6 février 2009
Statut
Membre
Dernière intervention
18 février 2011

Bonjour ou bonsoir
je cherche de l'aide je suis bloque
mon code captcha affiche toujours code de sécurité invalide, donc on peu pas répondre sur les annonces
voici le site www.annoncesuisse.ch essaye de répondre sur l'annonce et vous verrai

voici le code si vous avez une solutions ça me fera vraiment plaisir.

********************************************************************************************

<?php

session_start();


$md5 = md5(rand(1000,9999));
$pass = substr($md5, 10, 5);
$width = 110;
$height = 50;
if ( intval ( $_GET["posting"] ) == 1 )
$_SESSION["posting"]["capCode"] = strtolower ( $pass ) ;
else
$_SESSION["capCode"] = strtolower ( $pass ) ;
$image = imagecreate($width, $height);
$white = imagecolorallocate($image, 255, 255, 255);
$black = imagecolorallocate($image, 0, 0, 0);
$grey = imagecolorallocate($image, 150, 150, 150);
imagefill($image, 0, 0, $white);
imagestring($image, 5, 33, 18, strtoupper ( $pass ), $black);

//imageline($image, 0, $height/2, $width, $height/2, $grey);
//imageline($image, $width/2, 0, $width/2, $height, $grey);
header("Content-Type: image/jpeg");
imagejpeg($image);
imagedestroy($image);



?>
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
15
bonjour
a++
pas de test de condition dans la generation de l'image
correction

<?php 
session_start(); 
$md5 = md5(rand(1000,9999)); 
$pass = substr($md5, 10, 5); 
$width = 110; 
$height = 50; 
//if(intval($_GET["posting"])==1) 
$_SESSION["posting"]["capCode"]=strtolower( $pass ); 
//else 
$_SESSION["capCode"] = strtolower ( $pass ) ; 
$image = imagecreate($width, $height); 
$white = imagecolorallocate($image, 255, 255, 255); 
$black = imagecolorallocate($image, 0, 0, 0); 
$grey = imagecolorallocate($image, 150, 150, 150); 
imagefill($image, 0, 0, $white); 
imagestring($image, 5, 33, 18, strtoupper ( $pass ), $black); 

//imageline($image, 0, $height/2, $width, $height/2, $grey); 
//imageline($image, $width/2, 0, $width/2, $height, $grey); 
header("Content-Type: image/jpeg"); 
imagejpeg($image); 
imagedestroy($image); 
?>
Messages postés
11
Date d'inscription
vendredi 6 février 2009
Statut
Membre
Dernière intervention
18 février 2011

alors vous avez une solution pour m'aide a résoudre cette problème?
merci
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
15
bonsoir

oui c'est pas la generation du captcha qui est le problème ...

image.php fonctionne

<?php 
session_start(); 
$md5 = md5(rand(1000,9999)); 
$pass = substr($md5, 10, 5); 
$width = 110; 
$height = 50; 
//if(intval($_GET["posting"])==1) 
$_SESSION["posting"]["capCode"]=strtolower( $pass ); 
//else 
$_SESSION["capCode"] = strtolower ( $pass ) ; 
$image = imagecreate($width, $height); 
$white = imagecolorallocate($image, 255, 255, 255); 
$black = imagecolorallocate($image, 0, 0, 0); 
$grey = imagecolorallocate($image, 150, 150, 150); 
imagefill($image, 0, 0, $white); 
imagestring($image, 5, 33, 18, strtoupper ( $pass ), $black); 

//imageline($image, 0, $height/2, $width, $height/2, $grey); 
//imageline($image, $width/2, 0, $width/2, $height, $grey); 
header("Content-Type: image/jpeg"); 
imagejpeg($image); 
imagedestroy($image); 
?>



je pense que ça vient du formulaire est de la methode utilisée
pour vérifier le code ! il faudrait nous montrer le formulaire et la partie verif

pour infos
http://www.phpcs.com/forum/sujet-FORMULAIRE-PHP-HTLM-CAPTCHA_1499107.aspx
j'ai posté un captcha primitif qui fonctionne, essaye de comprendre
son implentation


a++
Messages postés
11
Date d'inscription
vendredi 6 février 2009
Statut
Membre
Dernière intervention
18 février 2011

Okay je vous envoi comme le script?
vous avez msn ou skype?
ou vous accepte de vous connect sur mon espace de live chat de mon site horilove pour vous transfer le fichiers de mon script?
Messages postés
11
Date d'inscription
vendredi 6 février 2009
Statut
Membre
Dernière intervention
18 février 2011

Nom du donc : posted.php


<?php


if ( intval ( $_SESSION["last_ad_id"] ) > 0 )
{

$array array ( "IsPosted"> 1 ) ;
if ( intval ( $app_init_data["DefaultStatus"] ) == 1 )
$array["IsActive"] = "1" ;

$data->update ( "Classified" , $array , array ( "AdID" => intval ( $_SESSION["last_ad_id"] ) ) ) ;
$ad_email $data->select ( "Classified" , "EmailAddress" , array ( "AdID"> intval ( $_SESSION["last_ad_id"] ) ) ) ;
$ad_email = $ad_email[0] ;
$body = $app_init_data["ADConfirmationEmail"] ;
$body = str_replace ( "{URL}" , $url , $body ) ;
$body = str_replace ( "{SITE_URL}" , base_url , $body ) ;
$body = str_replace ( "{SITE_NAME}" , $app_init_data["SiteTitle"] , $body ) ;
$body = str_replace ( "{SITE_EMAIL}" , $app_init_data["OwnerEmail"] , $body ) ;
$body = str_replace ( "{Friend_Name}" , $_POST["FName"] , $body ) ;
$body = str_replace ( "{Friend_Email}" , $_POST["FEmail"] , $body ) ;
$body = str_replace ( "{Sender_Name}" , $_POST["FullName"] , $body ) ;
$body = str_replace ( "{Sender_Email}" , $_POST["EmailAddress"] , $body ) ;
@mail ( $ad_email["EmailAddress"] , $app_init_data["SiteTitle"] , $body , "from:".$app_init_data["SiteName"]."<".$app_init_data["OwnerEmail"].">" ) ;
}

$_SESSION["last_ad_id"] = NULL ;

$_SESSION["str_system_message"] = "Merci pour votre annonce." ;

header ( "location:".base_url ) ;

?>
Messages postés
11
Date d'inscription
vendredi 6 février 2009
Statut
Membre
Dernière intervention
18 février 2011

2 Doc name : Postad.php


<?php

if ( intval ( $sel_id ) < 1 )
{
header ( "location:".base_url."c-SelectCategory/" ) ;
exit ( ) ;
}



if ( intval ( $app_init_data["AccountRequiredToPost"] ) == 1 && intval ( $_SESSION["login_account_id"] ) < 1 )
{
$_SESSION["str_system_message"] = "You must be Registered and Signed in to post ad." ;
header ( "location:".base_url ) ;
exit ( ) ;
}

if ( $_POST )
{
if ( strtolower ( $_POST["capSecurity"] ) != $_SESSION["posting"]["capCode"] )
{
$_SESSION["str_system_message"] = "Invalid security code." ;
}
else
{
include ( "classes/data_validation.php" ) ;
if ( validate_empty ( array ( "Category_post_ID" , "Ad_post_Title" , "Email_post_Address" ) ) )
{
foreach ( $_POST as $key=>$val )
if ( strchr ( $key , "_post_") )
$postdata[str_replace ( "_post_" , "" , $key )] = $val ;

if ( intval ( $_SESSION["login_account_id"] ) > 0 )
$postdata["AccountID"] = intval ( $_SESSION["login_account_id"] ) ;

$postdata["CategoryStack"] = "" ;
$postdata["SearchKeywords"] = $_POST["Ad_post_Title"]."," ;
$category_array = array ( ) ;
get_category_path ( intval ( $_POST["Category_post_ID"] ) , $category_array , $data ) ;
if ( ! empty ( $category_array ) )
{
foreach ( $category_array as $cate )
{
$postdata["CategoryStack"] .= "z".$cate["CategoryID"]."Z" ;
$postdata["SearchKeywords"] .= $cate["CategoryName"]."," ;
}
}

$postdata["IsPosted"] = "0" ;
$postdata["IsActive"] = "0" ;
$last_id = $data->insert ( "Classified" , $postdata ) ;
if ( intval ( $last_id ) > 0 )
{
if ( ! empty ( $_FILES ) )
{

for ( $i = 0 ; $i < 8 ; $i++ )
{
$extension = substr ( $_FILES["fileImage"]["name"][$i] , -3 ) ;
$extension = strtolower ( $extension ) ;
if ( $extension "jpg" || $extension "gif" || $extension == "bmp" || $extension == "jpeg" || $extension == "png" )
{
if ( $i == 0 )
$file_name_onsever = "media/cls_".$last_id."_520.".$extension ;
else
$file_name_onsever = "media/cls_".$last_id."_".$i."_520.".$extension ;
if ( $_FILES["fileImage"]["name"][$i] != "" )
move_uploaded_file ( $_FILES["fileImage"]["tmp_name"][$i] , $file_name_onsever ) ;
}
}
}
if ( ! empty ( $_POST["Ad_EF_Value"] ) )
{
foreach ( $_POST["Ad_EF_Value"] as $key => $valu )
if ( is_array ( $_POST["Ad_EF_Value"][$key] ) )
foreach ( $_POST["Ad_EF_Value"][$key] as $val )
$data->insert ( "AdExtraField" , array ( "CategoryExtraFieldID" => $key , "AdExtraFieldValue" => $val , "AdID" => $last_id ) ) ;
else
$data->insert ( "AdExtraField" , array ( "CategoryExtraFieldID" => $key , "AdExtraFieldValue" => $valu , "AdID" => $last_id ) ) ;
}
generate_sef_url ( $_POST["Ad_post_Title"] , $last_id , "Classified" ) ;
$_SESSION["last_ad_id"] = intval ( $last_id ) ;
$_SESSION["str_system_message"] = "Thank you for your posting." ;

header ( "location:".base_url."c-FeaturedOptions/" ) ;

}
}
else
$_SESSION["str_system_message"] = "Required fields are missing." ;
}

}

$cat = $data->select ( "Category" , "*" , array ( "CategoryID"=> intval ( $sel_id ) ) ) ;
if ( empty ( $cat ) )
{
header ( "location:".base_url."c-SelectCategory/" ) ;
exit ( ) ;
}


$sub_cats = $data->select ( "Category" , "*" , array ( "HeadCategoryID"=> intval ( $sel_id ) ) ) ;

if ( ! empty ( $sub_cats ) )
{
header ( "location:".base_url."c-SelectCategory/".$sel_id."/" ) ;
exit ( ) ;
}

if ( intval ( $cat[0]["Price"] ) > 0 && ! strchr($_SERVER['REQUEST_URI'],"pp-Return") )
{
$price = $cat[0]["Price"] ;
include ( "theme/".$app_init_data["CurrentSkin"]."/catpay.php" ) ;
exit ( ) ;
}

$cat = NULL ;


$cat_path = array ( ) ;

get_category_path ( $sel_id , $cat_path , $data ) ;

$cat_path = array_reverse ( $cat_path ) ;


$extra_fields $data->select ( "CategoryExtraField" , "*" , array ( "CategoryID"> null ) , 0 , 500 ) ;

$extra_fields_category $data->select ( "CategoryExtraField" , "*" , array ( "CategoryID"> $sel_id ) , 0 , 500 ) ;

include ( "theme/".$app_init_data["CurrentSkin"]."/post_form.php" ) ;

?>
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
15
www.annoncesuisse.ch
utilises tu le script http://market.matterdaddy.com/
j'ai besoin que du formulaire
a++
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
15
action="http://www.annoncesuisse.ch/reply_class_ad.php"
il me faudrait ce fichier
reply_class_ad.php

http://www.annoncesuisse.ch/yadcap.php
yadcap.php celui je l'ai tu l'as posté ...
c'est ce que j'appelle image.php
...
a++
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
15
il te faut dans la page qui verifie
<?php
session_start();
Messages postés
11
Date d'inscription
vendredi 6 février 2009
Statut
Membre
Dernière intervention
18 février 2011

FICHIER : reply_class_ad
-----------------------------------------------------------------------------

<?php

session_start ( ) ;

require ( "config.php" ) ;

if ( intval ( $_POST["AdID"] ) > 0 )
{
if ( $_SESSION["capCode"] == $_POST["BBUV"] )
{
require_once ( "classes/manipulate.php" ) ;

$data = new DataManipulator ;

$siteSettings = $data->select ( "SiteManager" , "*" , null , 1 , 50 ) ;
$app_init_data = array ( ) ;
foreach ( $siteSettings as $site )
{
$app_init_data[$site["SiteVariable"]] = $site["SiteValue"] ;
}


$classified $data->select ( "Classified" ,"*" , array ( "AdID"> intval ( $_POST["AdID"] ) ) ) ;
$classified = $classified[0] ;
$data->update ( "Classified" , " Replies=Replies+1" , array ( "AdID" => intval ( $_POST["AdID"] ) ) ) ;

@mail ( $classified["EmailAddress"] , "Quelqu'un a repondu a votre annonce sur ".base_url , "Bonjour, \n Vous avez reçu une message concernant votre annonce'".$classified["AdTitle"]."' De la part de l'utilisateur '".$_POST["FromEmailAddress"]."' : \n ".$_POST["EmailText"]." \n\n --------------------- \n ".$app_init_data["SiteName"]." Team, \n". base_url , "from:".$app_init_data["SiteTitle"]."<".$app_init_data["OwnerEmail"].">" ) ;

$_SESSION["str_system_message"] = "Confirmation: Votre courrier électronique a été transmis avec succès." ;
}
else
$_SESSION["str_system_message"] = "Code de sécurité non valide." ;

}

header ( "location:".$_SERVER['HTTP_REFERER'] ) ;



?>
Messages postés
11
Date d'inscription
vendredi 6 février 2009
Statut
Membre
Dernière intervention
18 février 2011

Merci beaucoup pour ton aide.
le script je le acheté sur l'internet chez http://www.classifiedscript.org/ depuis que je acheté le script ces gens on disparue mais quand je demande un support pas de réponse, et je même payer pour qu'il puisse installe et le configure mais il sont rien fait donc je me suis débrouille tous seul jusqu'à maintenant et un coup de change vous êtes la pour m'aide. je ne sais pas comme je ferai sans votre aide, il m'arrive d'acheté des script qui ne marche pas, je ne pas vraiment de la chance. vu que je suis vraiment un debutant je essaye de faire de mon mieux de porte de modification sur le parti simple.
merci cod57
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
15
enleve voir @ de @mail
tu dois avoir ta fonction mail() qui fonctionne pas
dans cette class
reply_class_ad
tu devras avoir un message d'erreur php warning ...

verifie si ta fonction mail sur le serveur fonctionne
puis tu remets quand tu as trouvé l'erreur


@mail ( $classified["EmailAddress"] , "Quelqu'un a repondu a votre annonce sur ".base_url , "Bonjour, \n Vous avez reçu une message concernant votre annonce'".$classified["AdTitle"]."' De la part de l'utilisateur '".$_POST["FromEmailAddress"]."' : \n ".$_POST["EmailText"]." \n\n --------------------- \n ".$app_init_data["SiteName"]." Team, \n". base_url , "from:".$app_init_data["SiteTitle"]."<".$app_init_data["OwnerEmail"].">" ) ;

$_SESSION["str_system_message"] = "Confirmation: Votre courrier électronique a été transmis avec succès." ;
}



mail ( $classified["EmailAddress"] , "Quelqu'un a repondu a votre annonce sur ".base_url , "Bonjour, \n Vous avez reçu une message concernant votre annonce'".$classified["AdTitle"]."' De la part de l'utilisateur '".$_POST["FromEmailAddress"]."' : \n ".$_POST["EmailText"]." \n\n --------------------- \n ".$app_init_data["SiteName"]." Team, \n". base_url , "from:".$app_init_data["SiteTitle"]."<".$app_init_data["OwnerEmail"].">" ) ; 

$_SESSION["str_system_message"] = "Confirmation: Votre courrier électronique a été transmis avec succès." ; 
}