Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 06-06-2005, 01:10 PM
sabret00the's Avatar
sabret00the sabret00the is offline
 
Join Date: Jan 2003
Location: London
Posts: 5,268
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default eregi vs strpos

PHP Code:
        while(!feof($newfile))
        {
            
$duplicate fgets($newfile255);
            
// is email address submitted already in the file?
            
$dupe eregi($email$duplicate);
            if(
$dupe == TRUE)
            {
                
$content "Our records show that this email address is already registered";
                
fclose($newfile);
                
//exit;
                
die("$front\n$content\n$back");
            }
        } 
that works fine but
PHP Code:
        while(!feof($newfile))
        {
            
$duplicate fgets($newfile255);
            
// is email address submitted already in the file?
            
$dupe strpos($email$duplicate);
            if(
$dupe == TRUE)
            {
                
$content "Our records show that this email address is already registered";
                
fclose($newfile);
                
//exit;
                
die("$front\n$content\n$back");
            }
        } 
don't, how come?
Reply With Quote
  #2  
Old 06-06-2005, 01:40 PM
filburt1 filburt1 is offline
 
Join Date: Feb 2002
Location: Maryland, US
Posts: 6,144
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

If the e-mail address breaks one of the 255-character boundaries, it won't work. You're also checking case-sensitively.

PHP Code:
if (stripos($emailfile_get_contents($filename)) !== false)
{
    echo 
"Duplicate";

Reply With Quote
  #3  
Old 06-06-2005, 02:34 PM
sabret00the's Avatar
sabret00the sabret00the is offline
 
Join Date: Jan 2003
Location: London
Posts: 5,268
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

hmmm, with your code, it's just ignoring the conditional

that's what i don't get the code for the eregi shows a true result yet i change it to strpos and it don't work.

actually that might've been human error
Reply With Quote
  #4  
Old 06-06-2005, 02:39 PM
Andreas's Avatar
Andreas Andreas is offline
 
Join Date: Jan 2004
Location: Germany
Posts: 6,863
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by sabret00the
PHP Code:
$dupe strpos($email$duplicate); 
Quote:
Originally Posted by PHP Manual
int strpos ( string haystack, mixed needle [, int offset] )

Returns the numeric position of the first occurrence of needle in the haystack string.
So if you want to check if $email does occur somewhere in $duplicate:

PHP Code:
$dupe strpost($duplicate$email); 


But as filburt1 already said, you should user stripos() if available to avoing casing issues.
Reply With Quote
  #5  
Old 06-06-2005, 02:49 PM
sabret00the's Avatar
sabret00the sabret00the is offline
 
Join Date: Jan 2003
Location: London
Posts: 5,268
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

it's giving me errors
Warning: file_get_contents() expects parameter 1 to be string

PHP Code:
    $filename "../../testfile.txt"//above the root
        
$newfile fopen($filename"r");
            if(
stripos(file_get_contents($newfile), $email) !== false)
            {
                
$content "Our records show that this email address is already registered";
                
fclose($newfile);
                die(
"$front\n$content\n$back");
            } 
nevermind fixed it

Quote:
Originally Posted by KirbyDE
So if you want to check if $email does occur somewhere in $duplicate:

PHP Code:
$dupe strpost($duplicate$email); 


But as filburt1 already said, you should user stripos() if available to avoing casing issues.
oops but realised that and fixed it, i have no idea why they do "haystack, needle" when the saying is clearly "needle, haystack" grrr @ then, but thanks kirby
Reply With Quote
  #6  
Old 06-06-2005, 03:16 PM
Andreas's Avatar
Andreas Andreas is offline
 
Join Date: Jan 2004
Location: Germany
Posts: 6,863
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Yeah, it's totally confusing.
I think most other programming languages implement strpos(searchstring, string)
Reply With Quote
  #7  
Old 06-06-2005, 06:50 PM
filburt1 filburt1 is offline
 
Join Date: Feb 2002
Location: Maryland, US
Posts: 6,144
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Yes, it's done logically given that the string to manipulate comes first, and then the arguments for manipulating that string. The arguments are named that way just for clarity, not for matching the phrase.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 01:14 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.03995 seconds
  • Memory Usage 2,254KB
  • Queries Executed 13 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (7)bbcode_php
  • (3)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (7)post_thanks_box
  • (7)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (7)post_thanks_postbit_info
  • (7)postbit
  • (7)postbit_onlinestatus
  • (7)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete