Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
  #1  
Old 05-09-2006, 07:04 AM
lightnb lightnb is offline
 
Join Date: Dec 2005
Posts: 106
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thank you! I didn't know there was a certain way to indent stuff (this is my first script), but now that I see it, it makes sense.

Is there a way to make Dreamweaver do the indenting for you?

I've added a bit more code to it, and I've got the new stuff running without errors, but It's not behaving as expected.

If I leave the "TD" input field blank, the code:

PHP Code:
if (isset($_POST['TD']) and !is_numeric($_POST['TD'])) 
Should evaluate false, and not generate a user error message. But it does...


If I give it all three values, this should check if they all add up corectly:

PHP Code:
if ( isset($HD) and isset($VD) and isset($TD) ) 
        {if ( 
$TD !== sqrt(($VD*$VD)+($HD*$HD)) )
            {
$error_str .= "<li>We're sorry, but you can't change the laws of physics!</li>";
            }
        } 
But it says they're wrong even when I use 3,4, and 5, which should evaluate corectly.



And finally, this:

PHP Code:
if ( isset($HD) and isset($VD) and !isset($TD) ) 
        
        {
$TD=sqrt(($VD*$VD)+($HD*$HD));
        echo 
$TD;
        } 
should take the first two input numbers, do the math, and spit out the answer (preferably back in the third input field), but it only gives me a blank page (when I comment out the other sections, so that I can get that far).


Here's the whole thing in context:

PHP Code:
<?php

// function to output form and hold previously entered values.

function user_form()
{
    
//output the form HTML.
    
echo '<p>Please fill in at least two fields.</p>';
    echo 
'<form action="'.htmlspecialchars($_SERVER['PHP_SELF']).'" method="post">';
    echo 
'<table border="0" cellspacing="4" cellpadding="0">';
    echo 
'<tr><td>Vertical Distance:</td><td><input type="text" name="VD" value="'.htmlspecialchars($_POST['VD']).'"></td></tr>';
    echo 
'<tr><td>Horizontal Distance:</td><td><input type="text" name="HD" value="'.htmlspecialchars($_POST['HD']).'"></td></tr>';
    echo 
'<tr><td>Throw Distance:</td><td><input type="text" name="TD" value="'.htmlspecialchars($_POST['TD']).'"></td></tr>';
    echo 
'<tr><td colspan="2"><input type="submit" value="Add to Database" name="submit"></td></tr>';
    echo 
'</table>';
    echo 
'</form>';

}

// has the form been submitted?
if (isset($_POST['submit']))
{
    
// the form has been submitted
    // perform data checks.

   
$error_str ''// initialise $error_str as empty

    
if (isset($_POST['VD']) and !is_numeric($_POST['VD']))
    {
        
$error_str .= '<li>VD must be a number</li>';
    }
    if (isset(
$_POST['HD']) and !is_numeric($_POST['HD']))
    {
        
$error_str .= '<li>HD must be a number</li>';
    }
    if (isset(
$_POST['TD']) and !is_numeric($_POST['TD']))
    {
      
$error_str .= '<li>TD must be a number</li>';
    }

    
// now, have any of these errors happened? We can find out by checking if $error_str is empty
    
if (!empty($error_str))
    {
        
// errors have occured, halt execution and show form again.
        
echo '<p>There were errors in the information you entered, they are listed below:</p>';
        echo 
'<ul>'.$error_str.'</ul>';

        
// show form again
        
user_form();

        exit; 
// die
    
}
    else
    
//Here is where we put all the stuff we want it to do!
        
    
{
        
$error_str '';    //Reset the error store
           
        
if ( isset($HD) and isset($VD) and isset($TD) ) 
        {if ( 
$TD !== sqrt(($VD*$VD)+($HD*$HD)) )
            {
$error_str .= "<li>We're sorry, but you can't change the laws of physics!</li>";
            }
        }
        
        
        
        if ( isset(
$HD) and isset($VD) and !isset($TD) ) 
        
        {
$TD=sqrt(($VD*$VD)+($HD*$HD));
        echo 
$TD;
        }
    
    
    
        if (!empty(
$error_str))
        {
        
// errors have occured, halt execution and show form again.
        
echo '<p>There were errors in the information you entered, they are listed below:</p>';
        echo 
'<ul>'.$error_str.'</ul>';

        
// show form again
        
user_form();

        exit; 
// die
           
}
    
    
    
    }
    
    
    
    
    
// if we get here, all data checks were okay, process information as you wish.
}
else
{
    
// the form has not been submitted, let's show it
    
user_form();
}


?>
I tried to do the indenting thing with all the brackets.

This is my first time doing this, and I appreciate your taking the time to help me.
Reply With Quote
Reply

Thread Tools
Display Modes

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 04:43 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.04606 seconds
  • Memory Usage 2,272KB
  • Queries Executed 12 (?)
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
  • (4)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)showthread_list
  • (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_threadedmode.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_threaded
  • showthread_threaded_construct_link
  • 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