View Single Post
  #15  
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
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01151 seconds
  • Memory Usage 1,841KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (4)bbcode_php
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)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)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.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
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • 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
  • showpost_complete