fortnox007 Posted November 8, 2010 Share Posted November 8, 2010 Dave did you even read any of the above?? or are you just forcing us to read your stuff and reply? Read the stuff below! Well just keep in mind random is not unique how unlikely a match may sound. (a date+time is unique depending on how many requests per time unit) Maybe make a little hello world php script to test if there is any php. just call it helloworld and place the following. <?php //don't us short tag like <? $string = 'hello world!'; //assign a variable; echo $string; ?> 1) So to repeat RANDOM is NOT unique!! 2) DON'T USE SHORT TAGS (sorry but it seems by only using the capslock it makes this true :'( ) 3) have a look at this: http://php.net/manual/en/function.rand.php (there is are parameters to limit the result, easiest with losing 1 million possibilities is $random_is_not_unique = rand(100000,999999); //a random NON unique number echo $random_is_not_unique; // echo random. Quote Link to comment https://forums.phpfreaks.com/topic/217899-unique-number-field-in-post-form/page/2/#findComment-1131915 Share on other sites More sharing options...
zzdave Posted November 8, 2010 Author Share Posted November 8, 2010 Hi Sorry if I am being a bit thick here but but surely this: <?php srand ((double) microtime( )*1000000); $random_number = rand( ); ?> does use the proper tags. Are you saying there should also be a <?php tag INSIDE the field line : "intInstID" value = "<?php= $random_number; ?>"> here? Thanks Dave Quote Link to comment https://forums.phpfreaks.com/topic/217899-unique-number-field-in-post-form/page/2/#findComment-1131921 Share on other sites More sharing options...
fortnox007 Posted November 8, 2010 Share Posted November 8, 2010 Ok keep that ('dont use shorttags in your mind in other words always use <?php to start and ?> to end not <? to start ') Now back to your app: What you can do which is closest to unique. 1) we take time by using time(); only show last 6 digits since it will return a 9 digit value and we want 6 $time_value = time(); // get time echo $time_value; // just to show its 9 digits you can leave this out, but to see the idea. $my_final_value = substr($time_value,-6); //assign a new var only the last 6 digits with substr (check: http://www.php.net/manual/en/function.substr.php You now have a nice value that increases every second so in a way it's unique. (unless multiple (simultaneous requests)) The value is stored in $my_final_value. to echo it in HTML or where ever you want echo it. like: <?php //Open and DON'T use short tags!! echo $my_final_value; // don't forget semicolon ?> So in a html form you can do this: <!--- make sure this is between the body tags ( <body> </body> ) --> <form action="actionpage.html" method="post"> <input type="text" name="coolnumber" value="<?php echo $my_final_value; ?>" readonly="readonly" /> </form> You could also use a hidden field, but that's up to you. hidden only means visually hidden Quote Link to comment https://forums.phpfreaks.com/topic/217899-unique-number-field-in-post-form/page/2/#findComment-1131929 Share on other sites More sharing options...
fortnox007 Posted November 8, 2010 Share Posted November 8, 2010 Hi Sorry if I am being a bit thick here but but surely this: <?php srand ((double) microtime( )*1000000); $random_number = rand( ); ?> does use the proper tags. Are you saying there should also be a <?php tag INSIDE the field line : "intInstID" value = "<?php= $random_number; ?>"> here? Thanks Dave just to clear things up a bit more. You either use 1 a .php file or 2 a .html file #1 in php you can echo a form like: with concatenating dots. .$var. <?php echo '<form action="#" method="post"> <input type="text" name="monkeys" value="'.$variable.'" /> </form>'; ?> #2 in HTML you use <?php ?> inside the fields. Like: <html> <head><title></title></head> <body> <form action="#" method="post"> <input type="text" name="monkeys" value="<?php $variable ?>" /> </form> </body </html> Quote Link to comment https://forums.phpfreaks.com/topic/217899-unique-number-field-in-post-form/page/2/#findComment-1131937 Share on other sites More sharing options...
zzdave Posted November 8, 2010 Author Share Posted November 8, 2010 Hi, OK I hear what you are saying and thank you very much for the snippets, but leaving aside the uniqueness for a second why doesn't this work: <?php srand ((double) microtime( )*1000000); $random_number = rand( ); ?> <form action = "https://secure.metacharge.com/mcpe/purser" method = "post"> <input type = "hidden" name = "intTestMode" value = "1"> <input type = "hidden" name = "intInstID" value = "<?php= $random_number; ?>"> <input type = "hidden" name = "strCartID" value = "YourOrderId/userId/987654321"> <input type = "hidden" name = "fltAmount" value = "29.99"> <input type = "hidden" name = "strCurrency" value = "GBP"> <input type = "hidden" name = "strDesc" value = "description of purchase"> <input type = "submit" value = "Make Payment"> </form > This : <?php= $random_number; ?> appears in the form field. See http://chiswickrestaurants.com/buynow.html Is it because the server does not in fact support PHP despite what they tell me? Cheers Dave Quote Link to comment https://forums.phpfreaks.com/topic/217899-unique-number-field-in-post-form/page/2/#findComment-1131943 Share on other sites More sharing options...
fortnox007 Posted November 8, 2010 Share Posted November 8, 2010 I was wrong on the last one that you can have a html file you cant you need a php file but the idea stays the same: Quote Link to comment https://forums.phpfreaks.com/topic/217899-unique-number-field-in-post-form/page/2/#findComment-1131945 Share on other sites More sharing options...
fortnox007 Posted November 8, 2010 Share Posted November 8, 2010 Hi, OK I hear what you are saying and thank you very much for the snippets, but leaving aside the uniqueness for a second why doesn't this work: <?php srand ((double) microtime( )*1000000); $random_number = rand( ); ?> <form action = "https://secure.metacharge.com/mcpe/purser" method = "post"> <input type = "hidden" name = "intTestMode" value = "1"> <input type = "hidden" name = "intInstID" value = "<?php= $random_number; ?>"> <input type = "hidden" name = "strCartID" value = "YourOrderId/userId/987654321"> <input type = "hidden" name = "fltAmount" value = "29.99"> <input type = "hidden" name = "strCurrency" value = "GBP"> <input type = "hidden" name = "strDesc" value = "description of purchase"> <input type = "submit" value = "Make Payment"> </form > This : <?php= $random_number; ?> appears in the form field. See http://chiswickrestaurants.com/buynow.html Is it because the server does not in fact support PHP despite what they tell me? Cheers Dave No its probbaly because your using <?php ?> inside <?php ?> Look carefully at my examples. try the concatenating dots Quote Link to comment https://forums.phpfreaks.com/topic/217899-unique-number-field-in-post-form/page/2/#findComment-1131946 Share on other sites More sharing options...
fortnox007 Posted November 8, 2010 Share Posted November 8, 2010 because i am in a good mood here you are save the stuff below as any_name_youlike.php <!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"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <title>monkeys</title> </head> <body> <?php $time_value = time(); // get time echo $time_value.'<br />'; // just to show its 9 digits you can leave this out, but to see the idea. $my_final_value = substr($time_value,-6); //assign a new var only the last 6 digits with substr (check: http://www.php.net/manual/en/function.substr.php echo $my_final_value.'<br />'; // for the sake of learning ?> <form action = "https://secure.metacharge.com/mcpe/purser" method = "post"> <input type = "hidden" name = "intTestMode" value = "1" /> <input type = "hidden" name = "intInstID" value = "<?php echo $my_final_value; ?>" /> <input type = "hidden" name = "strCartID" value = "YourOrderId/userId/987654321" /> <input type = "hidden" name = "fltAmount" value = "29.99" /> <input type = "hidden" name = "strCurrency" value = "GBP" /> <input type = "hidden" name = "strDesc" value = "description of purchase" /> <input type = "submit" name="submit" value = "Make Payment" /> </form > </body> </html> btw you cant do this <?php= $random ?> its should be <?php echo $random; ?> Just a few things. 1)Read the manual on how to use concatenating dots / how to echo variables (read more in general: http://www.w3schools.com/php/php_syntax.asp) 2) I saw your website, for future websites, use an external stylesheet I saw loads of redundant inline style CSS (dont use inline css) It will save you crap loads of time which is needed to hang out with friends 3) decide whether to echo the complete form (so inside php) or insert a small part of php inside the form -edit: i added a semicolon i missed apparently so you can make that a fourth note: end lines with a semicolon. -edit2: don't rely on the hidden field values (they can be changed) or you will be broke just like the pizza man next door. (sessions with database values are far more reliable) Quote Link to comment https://forums.phpfreaks.com/topic/217899-unique-number-field-in-post-form/page/2/#findComment-1131952 Share on other sites More sharing options...
zzdave Posted November 8, 2010 Author Share Posted November 8, 2010 Hi I did a cut and paste of your code (thanks by the way) and get this: http://chiswickrestaurants.com/page9.html Am I being really stupid with this? Cheers Dave Quote Link to comment https://forums.phpfreaks.com/topic/217899-unique-number-field-in-post-form/page/2/#findComment-1131964 Share on other sites More sharing options...
fortnox007 Posted November 8, 2010 Share Posted November 8, 2010 No your not stupid there was a > missing in <br /> But the code as it is now works just do it again and install xampp (test local takes you 5 minutes to install)\ see attachment that is working (but so is the code above) I can recommend to use Netbeans to [attachment deleted by admin] Quote Link to comment https://forums.phpfreaks.com/topic/217899-unique-number-field-in-post-form/page/2/#findComment-1131967 Share on other sites More sharing options...
zzdave Posted November 8, 2010 Author Share Posted November 8, 2010 In the middle of downloading xampp but changed the code and published it anyway http://chiswickrestaurants.com/page9.html What do you think? Dave Quote Link to comment https://forums.phpfreaks.com/topic/217899-unique-number-field-in-post-form/page/2/#findComment-1131979 Share on other sites More sharing options...
fortnox007 Posted November 8, 2010 Share Posted November 8, 2010 .PHP!!!!!!!!!!!!!!!!!!!!!!!!!!! can you maybe make a phpfile named: just_to_remind_myself.php so not just_to_remind_myself.html ( but .php) with the following content: <?php echo 'read the manual'; ?> if that doesn't clear things up I don't know what to do. Anyways i am off spended an hour on this. Goood luck an keep in mind hidden fields can't be relied on! Quote Link to comment https://forums.phpfreaks.com/topic/217899-unique-number-field-in-post-form/page/2/#findComment-1131981 Share on other sites More sharing options...
zzdave Posted November 8, 2010 Author Share Posted November 8, 2010 Thanks very much for your help Fortnox, you've been brilliant. For the life of me I can't get it to work. I have embedded this code in an html page but it should still work I reckon. I dunno.... I don't even understand your last post, why would that code help? Oh well - better start on a plan be or use the javascript and take a punt that people have it enabled it. Cheers Dave Quote Link to comment https://forums.phpfreaks.com/topic/217899-unique-number-field-in-post-form/page/2/#findComment-1131988 Share on other sites More sharing options...
fortnox007 Posted November 8, 2010 Share Posted November 8, 2010 I am not gonna answer that since it would be more that nice to try it and see it for your self. Just skip your site for a brief second and make a .php file (SO NOT A .HTML file) if it's a .html file it wont work. (oh could it maybe be that my page is named page9.html and that facks everything up?? a little voice says: YES!) Just run my code I made. Don't implement or do anything with it just run it as is. (as a .php file!!) Oops now I gave the answer i think 4 times. :'( :'( :'( Quote Link to comment https://forums.phpfreaks.com/topic/217899-unique-number-field-in-post-form/page/2/#findComment-1131995 Share on other sites More sharing options...
Yucky Posted November 9, 2010 Share Posted November 9, 2010 I am not gonna answer that since it would be more that nice to try it and see it for your self. Just skip your site for a brief second and make a .php file (SO NOT A .HTML file) if it's a .html file it wont work. (oh could it maybe be that my page is named page9.html and that facks everything up?? a little voice says: YES!) Just run my code I made. Don't implement or do anything with it just run it as is. (as a .php file!!) Oops now I gave the answer i think 4 times. :'( :'( :'( I've told him this several times already. By default, HTML files will not be parsed by PHP. Quote Link to comment https://forums.phpfreaks.com/topic/217899-unique-number-field-in-post-form/page/2/#findComment-1132051 Share on other sites More sharing options...
fortnox007 Posted November 9, 2010 Share Posted November 9, 2010 I saw Quote Link to comment https://forums.phpfreaks.com/topic/217899-unique-number-field-in-post-form/page/2/#findComment-1132060 Share on other sites More sharing options...
zzdave Posted November 9, 2010 Author Share Posted November 9, 2010 IT WORKS, IT WORKS, IT WORKS Thank you thank you thank you - I feel a right idiot not understanding that you needed me to change the .html extension to .php. It works a treat now - thank you everyone - especially Fortnox - for your patience and help I really appreciate Thank you again Dave PS I will read the tutorial... Quote Link to comment https://forums.phpfreaks.com/topic/217899-unique-number-field-in-post-form/page/2/#findComment-1132406 Share on other sites More sharing options...
fortnox007 Posted November 9, 2010 Share Posted November 9, 2010 hehe good to hear Good luck m8 Quote Link to comment https://forums.phpfreaks.com/topic/217899-unique-number-field-in-post-form/page/2/#findComment-1132407 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.