Different voltage levels damaging USB-8451?

We just started using I2C communications in our product so I am not very familiar with it.  We are using the USB-8451 to communicate with a HCS08 device. The SDA and SCL lines are pulled up to 3.3V on the unit under test with 5.11K. The NI USB-8451 appears to be damaged if the +5V and the +3.3V from the UUT are shorted. The +5V from the USB-8451 is not used. The manufacturing issues have been addressed. We want to keep the device from harm if this mistake happens again.  
We are not seeing any reason the different voltage level should affect the 8451, but we have a dead device. Any ideas on how this is happening or how to mitigate this in the future?
Thanks, 
Larry

Hi Larry,
There is information on how to wire the USB-8451 without damaging it on page 3-10 of this manual.  Also take a look at the specifications section in Appendix A.
Best,
Jeff S.
National Instruments

Similar Messages

  • Usb-8451

    Hi,
    I am trying to communicate with a gyro using NI USB-8451, I used the "General I2c Read.vi" example to try to communicate to the device but i get different errors every time I run the program, I have used the gyro with my Arduino board and it works perfectly, Attached i have the data sheet and the sample Arduino code for the gyro. Any assistance would be greatly appreciated. 

    Thank you for the information. I have similar problem, i get the error message Error -301744 occurred at NI-845x I2C Run Script.vi:6110001, 
    Possible reason(s):
    NI-845x: The I2C master lost arbitration and failed to seize the bus during transmission of an address+direction byte.
    the diffrance is that i'm using NI-8452 that include pull up ressitor and i make sure to enable them by enabling 'Use Internal I2C Pullup Resistor'  filed in 'NI-845x Device' poprty node.
    I set I/O voltage level to 3.3,
    I double check the adress, i have 7 bit adress defined in user manual of my device, 64 dec or 1000000 binary
    as specificed in my device user manual, i provide it Vdd of 5v from NI-8452 pin 40 and also GND in pin 7.
    offcourse SDA in pin 5 and SCL in pin 9.
    I think i might have a problem with pull up referance voltage becuse the sensor specified it need to be 5v but NI-8452 use up to 3.3V.
    but the low limit for high signal is 2.5v so it should work
    my digarm
    another option i tried is using I2c script blocks
    Thank You
    Or Hirshfeld
    אור הירשפלד

  • Is it too much to ask from apple, an option for different volumes levels from different apps, including alarm, text, email, basically from every posible app?

    Is it too much to ask from apple, an option for different volumes levels from different apps, including alarm, text, email, basically from every posible app?

    My daughter has had her Razr for about 9 months now.  About two weeks ago she picked up her phone in the morning on her way to school when she noticed two cracks, both starting at the camera lens. One goes completely to the bottom and the other goes sharply to the side. She has never dropped it and me and my husband went over it with a fine tooth comb. We looked under a magnifying glass and could no find any reason for the glass to crack. Not one ding, scratch or bang. Our daughter really takes good care of her stuff, but we still wanted to make sure before we sent it in for repairs. Well we did and we got a reply from Motorola with a picture of the cracks saying this was customer abuse and that it is not covered under warranty. Even though they did not find any physical damage to back it up. Well I e-mailed them back and told them I did a little research and found pages of people having the same problems. Well I did not hear from them until I received a notice from Fed Ex that they were sending the phone back. NOT FIXED!!! I went to look up why and guess what there is no case open any more for the phone. It has been wiped clean. I put in the RMA # it comes back not found, I put in the ID #, the SN# and all comes back not found. Yet a day earlier all the info was there. I know there is a lot more people like me and all of you, but they just don't want to be bothered so they pay to have it fix, just to have it do it again. Unless they have found the problem and only fixing it on a customer pay only set up. I am furious and will not be recommending this phone to anyone. And to think I was considering this phone for my next up grade! NOT!!!!

  • Usb-8451 i2c developement

    Generated a simple program to talk to i2c on NSE5310 using usb-8451.  I get the following error.
    Error -301742 occurred at NI-845x I2C Write Read.vi:1
    Possible reason(s):
    NI-845x:  The slave did not acknowledge an address+direction byte transmitted by the I2C master. Reasons include the incorrect address set in the I2C configuration or the incorrect use of the 7-bit address. When entering an address to access a 7-bit device, do not include the direction bit. The NI-845x Basic I2C API internally sets the direction bit to the correct value, depending on the function (write or read). If your datasheet specfies the 7-bit device address as a byte, discard the direction bit (bit 0) and right-shift the byte value by one to create the 7-bit address.
    I do have pullup resistors of 1.5k on both SDA and SCL.  I've attached the data sheet for the device and a sample program. 
    THANKS FOR YOUR TIME.   Happy Holidays.............................
    Attachments:
    NI-8451 Testing ver2.vi ‏13 KB
    NSE-5310_Datasheet_v1_0.pdf ‏1569 KB

    You are providing the wrong address. As the error message says, you must provide the 7-bit address, excluding the read/write bit. . You are providing the full value of the first byte, including the read/write bit. In other words, you are doing the exact opposite of what the error message tells you to do. If you've set the user-bits to 0 then the correct address is 0x40.
    Side-note: When you set a front panel numeric control to hex display you should also display the radix so that others know that it refers to "81" hex, and not "81" decimal, which are two different values.

  • USB 8451 simultaneo​us I2C and IO

    Hi, 
    I am using the NI USB8451 to communicate with a TI BQ77910A by I2C. The I2C communication works for reading right now but in order to write in the EEPROM registers I need to provide 3.3V using the IO signals. 
    I've tested the IO and generated a signal successfully. My question is: is it possible to simultaneously run I2C and IO on the USB8451. Do they need to be on the same VI in order to operate?
    Thanks,
    Vid
    Solved!
    Go to Solution.

    Yes it works with the NI USB 8451. Though it is worth mentioning only ports P.04 to P.06 are capable of delivering a true steady output voltage of 3.3V.  The other ports seem to struggle in my experience but it is not a bad thing considering that the NI8451 is supposedly only capable of delivering 3.3V. 
    Thanks,
    Vid

  • I2C communication with USB 8451

    I am measuring capacitance using AD7746. I have 10 such CDC's connected through two PCA9547 multiplexers(to avoid address conflict). Can I use USB8451 to collect data instead of a microcontroller. Also Is there is another DAQ with 2 wire I2C communication or is this the only one with I2C.  Also is there some part with 10 I2C channels so I can collect data without using the multiplexer which adds complexity to code.

    hello krtiruth,
    If I understand your question correctly, you would like to know if the USB-8451 is a good choice for your particular chip( AD7746). As long as your chips allowing for different addressing, for you 10 different addresses, the 8451 can be connected to all the chips at once, an address each one individually through their particular address.This should allow you to not need the multiplexers to distribute communication to your various chips. As of right now the USB-8451 is the only I^2C device that National Instruments sells.  Thanks again and have a great day!
    Regards,
    Nicholas K
    National Instruments
    Applications Engineer

  • How to isolate USB-8451, I2C/SPI Interface

    How can I protect the SCL & SDA lines on a USB-8451 from overvoltage?  The User Guide says:
    Caution Take special care with respect to the I2C SDA and SCL lines. To allow for external
    pull-ups, the circuit protection has been removed. Do not exceed the specified voltages for
    these signals. 
    I've had several instances where my UUT applied 28 volts to one/both of these lines and destroyed my I2C interface.  What can I do to protect these lines?
    Jim 
    Jim
    You're entirely bonkers. But I'll tell you a secret. All the best people are. ~ Alice

    There are several ways to this. I often use this simple circuit is based on zener diodes and the basic idea is quite similar to some commercial circuits also. The zener diode react quite fast to the surges. Zener diodes also have Low capacitance, so they are suited for high speed data lines. Unfortunately the surge capacity of those zener diodes is not very high, so that they can't handle the large spikes by themselves. That's why I have added 10 ohm resistors in series with data line before the zener diodes. This resistor limits the surge current to safer value for zener diode. The resistor must be always be between the data line and zener diode, so you must plug this circuit in the way where the computer goes to the connector on the right and the data line to the connector on the left. It is possible to make this circuit "bidirectional" just by adding also resistors to the computer side of the zener diodes, but this increased the series resistance in the data line.
    As mentioned there are more advanced circuits. Like active circuits. As an example the ADG467BR. Another option is Zener Transient voltage suppressors like the P6KE11CA. The P6KE11CA is bipolar so you only need 1 diode. But for a low voltage system like yours the zener solution may work fine. Remember to select a zener which can handle the current. If you 28 volt and use a 10 ohm resistor the current will not be higher than  28/10 ampere as a thumb rule. Probably lower.
    Message Edited by t06afre on 01-23-2009 03:41 PM
    Besides which, my opinion is that Express VIs Carthage must be destroyed deleted
    (Sorry no Labview "brag list" so far)
    Attachments:
    sample.PNG ‏2 KB

  • USB-8451 examples broken in LV 2012

    I have a USB-8451 on order but it hasn't arrived yet.  I went ahead and downloaded and installed the driver software, NI-845x 2.0.  I am running LV 2012 (12.0.1f5 32-bit) and I didn't see any options for 2012 support in the installer, so I clicked the LV 2011 support and installed that.  That seems to have created one LLB file, ni845x.llb.
    I searched for examples using the 8451 but didnt' find any (i.e. "Help --> Find examples" in LV 2012).  I searched NI support online and found SPI Execute Read of Shift Register.vi.  When I open it and point to the llb file to resolve references, the VI is broken.  All the sub-VIs are not executable.  The errors are 1) call lib. fcn. note contains unwired or bad terminal, 2) invalid refnum class, and 3) you have connected two terminals of different types.
    Why are these broken?  Does it have anything to do with the USB-8451 not actually being hooked up to my computer?

    Hi Vishak, 
    It may take some time for this to get fixed. I have resubmitted the request to have it fixed.
    2.1.2 is still the latest version of the driver. For future reference, the best place to find the most recent version of our drivers is at ni.com/drivers.
    Catherine B.
    Applications Engineer
    National Instruments

  • USB-8451 I2C bus 5V tolerant

    Hello,
    Trying to use the NI-USB-8451 and Labview 2010.
    The 8451 device has option for pull-up resistors (I2C bus) up to 3.3V.
     Are the I2C SCL and SDA pins 5V tolerant?
    Thank you

    the appendix at the end of the manual states
    "Absolute voltage range ...........................–0.5 to +5.8 V with respect to
    GND"  pg A3
    http://www.ni.com/pdf/manuals/371746d.pdf
    Jeff

  • Stepper Pulse Voltage Level in Open Collector

    I am using the PXI-7344 Motion Controller to drive three stepper motors and 5 servos. I am running into unexpected problems with PXI-7344 Motion Controllers to drive stepper motors.
    Steppers are configured as CW & CCW and open loop.
    At first,I started with two PXI-7344 Motion Controller for 8 axes control.
    But two axes stepper control with two axes servo on a one PXI-7344 gave a problem that one of stepper axis speed was faster than a given command speed on a certain moment during all four axes were running simultaneously. In spite of new firmware upgrade, that problem could not be fixed.
    So now I am using three PXI-7344 Motion Controllers for 8 axes.
    The second problem is the output voltage level of stepper pulse.
    PXI
    -7344 Motion Controllers and stepper amplifiers are interfaced with "open collector".
    Stepper amplifiers are driven with +24Volts and +24Volts is supplied from stepper amplifiers.
    As hooked up to a scope to monitor,stepper amplifiers are working correctly as the output voltage level of stepper pulse over +15V for a rise but incorrect as below +15V causing fast speed and more pule move than the given command.
    The problem is that the pulse voltage level is not uniform for axes on PXI-7344 Motion Controllers. For an instance,Axis one always gives +15V pulses but other axes are not. And other PXI-7344 Motion Controller's axes always gives only around +13V level pulses even if it is new one.
    So it could not be replaced with other one except that gives +15V level pulses.
    Why does such strange thing happen?
    And how could that problem be fixed?
    Any help would be greatly appreciated!
    Thanks in advance.
    Choe

    Choe.
    The stepper outputs on the PXI-7344 Motion Controllers output TTL pulses ranging from 0 to 5 volts. I'm a bit confused by your explaination that the "PXI-7344 Motion Controller's axes always give only around +13V level pulses." Does this mean that the 7344 is outputting 13 volts, or is this the output of the stepper motor amplifier? Also the voltage level of each pulse should never effect speed, just torque.
    I recommend going to www.ni.com/ask and contacting one of our NI-Motion specialists. That may provide a better forum for getting to the heart of your odd behavior.

  • Report  from system on different stock levels-min, max stock levels

    hI gURUS,
    Is there any Standard Report  from  SAP system to see on different stock levels-minIMUM stock, maximum stock levels

    Hi,
    MMBE will not give stock level min and max  that is maintained in material master MRP view. I think you need to make a z report for th same or may be through query.
    Regards
    Sangeta

  • How to save Jobs with different priority level in a Queue?

    Hi, Friends,
    I have a set of Job (see below) objects.
    I would make a queue: if they have the save priority level, first in and first out. this is easy to do by ArrayList. however, If they have different priority level, I would like make the Jobs with the highest level first out.
    How can I implemented this idea in Java?
    Regards,
    Youbin
    public class Job {
    private short _priorityLevel = 0;
    public void setPriorityLevel(short priorityLevel) {
    this._priorityLevel = priorityLevel;
    public short getPriorityLevel() {
    return _priorityLevel;

    Hi,
    Here is my test code, it works:
    public class Job implements Comparable{
    private int _priorityLevel=0;
    private String _jobDescription=null;
    public Job() {
    public void setPriorityLevel(int priorityLevel) {
    this._priorityLevel=priorityLevel;
    public int getPriorityLevel() {
    return this._priorityLevel;
    public void setJobDescription(String jobDescription) {
    this._jobDescription=jobDescription;
    public String getJobDescription() {
    return this._jobDescription;
    public int compareTo(Object obj) {
    return (this._priorityLevel-((Job)obj)._priorityLevel);
    import java.util.LinkedList;
    import java.util.Iterator;
    import java.util.Collections;
    import java.util.Collection;
    public class test {
    public test() {
    public static void main(String[] args) {
    Job job1 = new Job();
    job1.setJobDescription("Job1");
    job1.setPriorityLevel(2);
    Job job2 = new Job();
    job2.setJobDescription("Job2");
    job2.setPriorityLevel(2);
    Job job3 = new Job();
    job3.setJobDescription("Job3");
    job3.setPriorityLevel(2);
    Job job4 = new Job();
    job4.setJobDescription("Job4");
    job4.setPriorityLevel(1);
    Job job5 = new Job();
    job5.setJobDescription("Job5");
    job5.setPriorityLevel(1);
    Job job6 = new Job();
    job6.setJobDescription("Job6");
    job6.setPriorityLevel(1);
    LinkedList linkedList = new LinkedList();
    linkedList.addLast(job1);
    linkedList.addLast(job2);
    linkedList.addLast(job4);
    Iterator ite=linkedList.iterator();
    while (ite.hasNext()) {
    System.out.println(((Job)ite.next()).getJobDescription());
    System.out.println("---------");
    Collections.sort(linkedList);
    ite=linkedList.iterator();
    while (ite.hasNext()) {
    System.out.println(((Job)ite.next()).getJobDescription());
    System.out.println("---------");
    linkedList.addLast(job3);
    ite=linkedList.iterator();
    while (ite.hasNext()) {
    System.out.println(((Job)ite.next()).getJobDescription());
    System.out.println("---------");
    Collections.sort(linkedList);
    ite=linkedList.iterator();
    while (ite.hasNext()) {
    System.out.println(((Job)ite.next()).getJobDescription());
    System.out.println("---------");
    linkedList.addLast(job5);
    linkedList.addLast(job6);
    ite=linkedList.iterator();
    while (ite.hasNext()) {
    System.out.println(((Job)ite.next()).getJobDescription());
    System.out.println("---------");
    Collections.sort(linkedList);
    ite=linkedList.iterator();
    while (ite.hasNext()) {
    System.out.println(((Job)ite.next()).getJobDescription());
    }

  • Different zoom levels for different clips in the same project?

    Hi
    I am making a movie with videos from two different cameras. As a result some of the clips are cut down in size to a small portion of the screen. This can be solved if it is possible to use different zoom levels for different clips in the same project. I have not been able to do this. Is it possible?
    kind regards
    Soren

    You can scale the small clips up to the same size of the larger one... but you will get a quality loss.
    Using Motion or Scale to Frame Size commands
    Better to scale the large ones down to a Sequence that matches the smaller clip dimensions.

  • Using USB-8451 for accessing SMB Slave

    Can i use the following example to read a SMB(System Management Bus) slave device using USB-8451 (since SMB is derived from I2C) .
    Hardware Input and Output > I2C and SPI > I2C Basic > Generate I2C Read.vi
    Thanks
    Baburaj
    SMSC
    INDIA

    The following is the read and write sequence examples , I want to confirm that this sequence is done by General I2C Read.vi .
    Example Write sequence:
    1)      Slave Address 0x58
    2)      Register Address 0x00
    3)      Byte count 0x03 (to write 3 bytes)
    4)      Data Byte 1
    5)      Data Byte 2
    6)      Data Byte 3
    Example Read Sequence:
    1)      Slave Address 0x58
    2)      Register Address 0x00
    3)      Repeat start Slave address (will be 0x59)
    4)      Byte Count 0x03 ( to read 3 bytes)
    5)      Data Byte 1
    6)      Data Byte 2
    7)      Data Byte 3
    Thanks
    Baburaj

  • Restrict Access To Page Not Working with Different Auth Levels

    I have just started playing with the idea of using different auth levels to allow different users access to certain pages on my site.
    Within my SQL database I have a authlevel table consisting of 3 possible levels (guest, user, admin)
    I am using the Dreamweaver "Log in user" to log in users based on username, pass, and auth level and "Restrict access to page" set to allow user levels 'user' and 'admin'.
    The problem, however, occurs when trying to log in.  No matter what auth level I try I am redirected to my page where users should be redirected if they are not allowed to enter that page.
    I have included below my code from my login page and the page where all authorized users (user and admin) should be directed upon entering the restricted area.
    Login Page:
    <?php require_once('../Connections/hondovfd.php'); ?>
    <?php
    if (!function_exists("GetSQLValueString")) {
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
      if (PHP_VERSION < 6) {
        $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
      $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
      switch ($theType) {
        case "text":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;   
        case "long":
        case "int":
          $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
        case "double":
          $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
          break;
        case "date":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;
        case "defined":
          $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
          break;
      return $theValue;
    ?>
    <?php
    // *** Validate request to login to this site.
    if (!isset($_SESSION)) {
      session_start();
    $loginFormAction = $_SERVER['PHP_SELF'];
    if (isset($_GET['accesscheck'])) {
      $_SESSION['PrevUrl'] = $_GET['accesscheck'];
    if (isset($_POST['username'])) {
      $loginUsername=$_POST['username'];
      $password=$_POST['password'];
      $MM_fldUserAuthorization = "authlevel";
      $MM_redirectLoginSuccess = "/membersonly/membersonly.php";
      $MM_redirectLoginFailed = "/membersonly/loginfailed.php";
      $MM_redirecttoReferrer = false;
      mysql_select_db($database_hondovfd, $hondovfd);
      $LoginRS__query=sprintf("SELECT username, password, authlevel FROM login WHERE username=%s AND password=%s",
      GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
      $LoginRS = mysql_query($LoginRS__query, $hondovfd) or die(mysql_error());
      $loginFoundUser = mysql_num_rows($LoginRS);
      if ($loginFoundUser) {
        $loginStrGroup  = mysql_result($LoginRS,0,'authlevel');
        //declare two session variables and assign them
        $_SESSION['MM_Username'] = $loginUsername;
        $_SESSION['MM_UserGroup'] = $loginStrGroup;          
        if (isset($_SESSION['PrevUrl']) && false) {
          $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];    
        header("Location: " . $MM_redirectLoginSuccess );
      else {
        header("Location: ". $MM_redirectLoginFailed );
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin template="/Templates/phptemplate.dwt" codeOutsideHTMLIsLocked="false" -->
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <!-- InstanceBeginEditable name="Title" -->
    <title>Log In</title>
    <!-- InstanceEndEditable -->
    <meta name="description" content="Hondo Fire and Rescue serves the Arroyo Hondo and Canada Village areas of Santa Fe County, NM." />
    <meta name="keywords" content="hondo, hondo fire, hondo vfd, hondo fire department, santa fe county fire department, santa fe county, volunteer fire department, hondo volunteer fire department" />
    <link href="../stylesheet.css" type="text/css" rel="stylesheet" />
    <!--[if IE]>
    <style type="text/css">
    #mainContent, #sidebar1 { zoom: 1;}
    </style>
    <![endif]-->
    <script src="../SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
    <link href="../SpryAssets/SpryMenuBarVertical.css" rel="stylesheet" type="text/css" />
    </head>
    <body class="thrColLiqHdr">
    <div id="container">
    <div id="header"></div>
      <div id="sidebar1">
      <h3>Navigation : </h3>
      <ul id="MenuBar1" class="MenuBarVertical">
      <li><a href="/index.php">Home</a></li>
    <li><a href="/support.php">Support Hondo</a></li>
      <li><a class="MenuBarItemSubmenu" href="#">Information Menu</a>
        <ul>
          <li><a href="/people.php">Our People</a></li>
          <li><a href="http://www.google.com/maps/ms?ie=UTF8&hl=en&msa=0&msid=101620713606637979698.00045b6ead4ab4ea70b78&z=11" target="_blank">Response Area</a></li>
          <li><a href="/medical.php">Medical</a></li>
          <li><a href="/apparatus.php">Apparatus</a></li>
          <li><a href="/training.php">Training</a></li>
          <li><a href="/volunteer.php">Volunteer</a></li>
          <li><a href="/statistics.php">Statistics</a></li>
          <li><a href="/patchtrading.php">Patch Trading</a></li>
        </ul>
      </li>
      <li><a href="/album.php">Photo Gallery</a></li>
      <li><a href="/calendar.php">Calendar</a></li>
      <li><a href="/news.php">Blog/News</a></li>
      <li><a href="/links.php">Links</a></li>
      <li><a href="/contact.php">Contact Us</a></li>
    </ul>
    <br />
    <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
      <span class="lefttext">
    <input type="hidden" name="cmd" value="_s-xclick">
    <input type="hidden" name="hosted_button_id" value="8567201">
    <input type="image" src="https://www.paypal.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!" />
    <img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
    </img></input></input>
      </span>
    </form>
    <span class="lefttext"><br />
    </span>
    <center>
      <span class="lefttext"><a href="http://www.facebook.com/pages/Santa-Fe-NM/Hondo-Volunteer-Fire-Department/74284233488" target="_blank" class="lefttext">Hondo VFD on Facebook</a></span>
    </center>
      <!-- end #sidebar1 --></div>
      <div id="sidebar2"> 
        <p><a href="/membersonly/login.php">Log In</a> | <a href="/membersonly/logout.php">Log Out</a></p>
        <p>Call Statistics for <?php
    $myFile = "/var/home/hondovfd/hondovfd.org/www/membersonly/month.txt";
    $fh = fopen($myFile, 'r');
    $theData = fread($fh, filesize($myFile));
    fclose($fh);
    echo $theData;
    ?> as of <?php
    $myFile = "/var/home/hondovfd/hondovfd.org/www/membersonly/date.txt";
    $fh = fopen($myFile, 'r');
    $theData = fread($fh, filesize($myFile));
    fclose($fh);
    echo $theData;
    ?></p>
      <table width="90%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="60%">EMS Calls</td>
        <td width="40%"><?php
    $myFile = "/var/home/hondovfd/hondovfd.org/www/membersonly/emscalls.txt";
    $fh = fopen($myFile, 'r');
    $theData = fread($fh, filesize($myFile));
    fclose($fh);
    echo $theData;
    ?></td>
      </tr>
      <tr>
        <td>Fire Calls</td>
        <td><?php
    $myFile = "/var/home/hondovfd/hondovfd.org/www/membersonly/firecalls.txt";
    $fh = fopen($myFile, 'r');
    $theData = fread($fh, filesize($myFile));
    fclose($fh);
    echo $theData;
    ?></td>
      </tr>
    </table>
      <hr />
        <div id="cse" style="width:100%;">Loading</div>
    <script src="http://www.google.com/jsapi" type="text/javascript"></script>
    <script type="text/javascript">
      google.load('search', '1');
      google.setOnLoadCallback(function(){
        new google.search.CustomSearchControl().draw('cse');
      }, true);
    </script>
         <!-- End Google Search Element -->
      </div>
      <!-- end #sidebar2 -->
      <div id="mainContent">
      <div class="top"></div><div class="wrap"><!-- InstanceBeginEditable name="Main Content" -->
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td height="47" class="h2">Members Only Login</td>
      </tr>
      <tr>
        <td><form ACTION="<?php echo $loginFormAction; ?>" id="login" name="login" method="POST">
        <table width="40%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="31%">Username:</td>
        <td width="69%"><input name="username" type="text" /></td>
      </tr>
      <tr>
        <td>Password</td>
        <td><input name="password" type="password" /></td>
      </tr>
    </table>
    <input name="Submit" type="submit" />
        </form></td>
      </tr>
    </table>
      <!-- InstanceEndEditable -->
    </div>
    <div class="bottom"></div>
    </div>
         <!-- This clearing element should immediately follow the #mainContent div in order to force the #container div to contain all child floats --> <br class="clearfloat" />
      <div id="footer">
        <p align="center">&copy; Copyright 2009 Hondo Volunteer Fire Department | <a href="mailto:[email protected]">Contact Us</a><a href="http://www.legalhelpers.com/chapter-13-bankruptcy/chapter13.html"></a><br />Hosting provided by <a href="http://studiox.com/" target="_blank">Studio X</a></p>
      <!-- end #footer --></div>
    <!-- end #container --></div>
    <script type="text/javascript">
    <!--
    var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgRight:"../SpryAssets/SpryMenuBarRightHover.gif"});
    //-->
    </script>
    <?php include_once("/var/home/hondovfd/hondovfd.org/www/analyticstracking.php"); ?>
    </body>
    <!-- InstanceEnd --></html>
    Other Page:
    <?php
    if (!isset($_SESSION)) {
      session_start();
    $MM_authorizedUsers = "user,admin";
    $MM_donotCheckaccess = "false";
    // *** Restrict Access To Page: Grant or deny access to this page
    function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) {
      // For security, start by assuming the visitor is NOT authorized.
      $isValid = False;
      // When a visitor has logged into this site, the Session variable MM_Username set equal to their username.
      // Therefore, we know that a user is NOT logged in if that Session variable is blank.
      if (!empty($UserName)) {
        // Besides being logged in, you may restrict access to only certain users based on an ID established when they login.
        // Parse the strings into arrays.
        $arrUsers = Explode(",", $strUsers);
        $arrGroups = Explode(",", $strGroups);
        if (in_array($UserName, $arrUsers)) {
          $isValid = true;
        // Or, you may restrict access to only certain users based on their username.
        if (in_array($UserGroup, $arrGroups)) {
          $isValid = true;
        if (($strUsers == "") && false) {
          $isValid = true;
      return $isValid;
    $MM_restrictGoTo = "/membersonly/loginfailed.php";
    if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {  
      $MM_qsChar = "?";
      $MM_referrer = $_SERVER['PHP_SELF'];
      if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&";
      if (isset($QUERY_STRING) && strlen($QUERY_STRING) > 0)
      $MM_referrer .= "?" . $QUERY_STRING;
      $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer);
      header("Location: ". $MM_restrictGoTo);
      exit;
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin template="/Templates/phptemplate.dwt" codeOutsideHTMLIsLocked="false" -->
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <!-- InstanceBeginEditable name="Title" -->
    <title>Members Only Area</title>
    <!-- InstanceEndEditable -->
    <meta name="description" content="Hondo Fire and Rescue serves the Arroyo Hondo and Canada Village areas of Santa Fe County, NM." />
    <meta name="keywords" content="hondo, hondo fire, hondo vfd, hondo fire department, santa fe county fire department, santa fe county, volunteer fire department, hondo volunteer fire department" />
    <link href="../stylesheet.css" type="text/css" rel="stylesheet" />
    <!--[if IE]>
    <style type="text/css">
    #mainContent, #sidebar1 { zoom: 1;}
    </style>
    <![endif]-->
    <script src="../SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
    <link href="../SpryAssets/SpryMenuBarVertical.css" rel="stylesheet" type="text/css" />
    </head>
    <body class="thrColLiqHdr">
    <div id="container">
    <div id="header"></div>
      <div id="sidebar1">
      <h3>Navigation : </h3>
      <ul id="MenuBar1" class="MenuBarVertical">
      <li><a href="/index.php">Home</a></li>
    <li><a href="/support.php">Support Hondo</a></li>
      <li><a class="MenuBarItemSubmenu" href="#">Information Menu</a>
        <ul>
          <li><a href="/people.php">Our People</a></li>
          <li><a href="http://www.google.com/maps/ms?ie=UTF8&hl=en&msa=0&msid=101620713606637979698.00045b6ead4ab4ea70b78&z=11" target="_blank">Response Area</a></li>
          <li><a href="/medical.php">Medical</a></li>
          <li><a href="/apparatus.php">Apparatus</a></li>
          <li><a href="/training.php">Training</a></li>
          <li><a href="/volunteer.php">Volunteer</a></li>
          <li><a href="/statistics.php">Statistics</a></li>
          <li><a href="/patchtrading.php">Patch Trading</a></li>
        </ul>
      </li>
      <li><a href="/album.php">Photo Gallery</a></li>
      <li><a href="/calendar.php">Calendar</a></li>
      <li><a href="/news.php">Blog/News</a></li>
      <li><a href="/links.php">Links</a></li>
      <li><a href="/contact.php">Contact Us</a></li>
    </ul>
    <br />
    <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
      <span class="lefttext">
    <input type="hidden" name="cmd" value="_s-xclick">
    <input type="hidden" name="hosted_button_id" value="8567201">
    <input type="image" src="https://www.paypal.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!" />
    <img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
    </img></input></input>
      </span>
    </form>
    <span class="lefttext"><br />
    </span>
    <center>
      <span class="lefttext"><a href="http://www.facebook.com/pages/Santa-Fe-NM/Hondo-Volunteer-Fire-Department/74284233488" target="_blank" class="lefttext">Hondo VFD on Facebook</a></span>
    </center>
      <!-- end #sidebar1 --></div>
      <div id="sidebar2"> 
        <p><a href="/membersonly/login.php">Log In</a> | <a href="/membersonly/logout.php">Log Out</a></p>
        <p>Call Statistics for <?php
    $myFile = "/var/home/hondovfd/hondovfd.org/www/membersonly/month.txt";
    $fh = fopen($myFile, 'r');
    $theData = fread($fh, filesize($myFile));
    fclose($fh);
    echo $theData;
    ?> as of <?php
    $myFile = "/var/home/hondovfd/hondovfd.org/www/membersonly/date.txt";
    $fh = fopen($myFile, 'r');
    $theData = fread($fh, filesize($myFile));
    fclose($fh);
    echo $theData;
    ?></p>
      <table width="90%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="60%">EMS Calls</td>
        <td width="40%"><?php
    $myFile = "/var/home/hondovfd/hondovfd.org/www/membersonly/emscalls.txt";
    $fh = fopen($myFile, 'r');
    $theData = fread($fh, filesize($myFile));
    fclose($fh);
    echo $theData;
    ?></td>
      </tr>
      <tr>
        <td>Fire Calls</td>
        <td><?php
    $myFile = "/var/home/hondovfd/hondovfd.org/www/membersonly/firecalls.txt";
    $fh = fopen($myFile, 'r');
    $theData = fread($fh, filesize($myFile));
    fclose($fh);
    echo $theData;
    ?></td>
      </tr>
    </table>
      <hr />
        <div id="cse" style="width:100%;">Loading</div>
    <script src="http://www.google.com/jsapi" type="text/javascript"></script>
    <script type="text/javascript">
      google.load('search', '1');
      google.setOnLoadCallback(function(){
        new google.search.CustomSearchControl().draw('cse');
      }, true);
    </script>
         <!-- End Google Search Element -->
      </div>
      <!-- end #sidebar2 -->
      <div id="mainContent">
      <div class="top"></div><div class="wrap"><!-- InstanceBeginEditable name="Main Content" -->
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td height="47" class="h2">Members Only Area</td>
      </tr>
      <tr>
        <td><p><a href="/membersonly/documents.php">Useful Documents</a></p>
          <p><a href="/membersonly/IncidentCount01_08.pdf">Current Call Statistics</a> as of 9/3/09</p>
          </td>
      </tr>
    </table>
      <script type="text/javascript">
    <!--
    var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgRight:"../SpryAssets/SpryMenuBarRightHover.gif"});
    //-->
    </script><!-- InstanceEndEditable -->
    </div>
    <div class="bottom"></div>
    </div>
         <!-- This clearing element should immediately follow the #mainContent div in order to force the #container div to contain all child floats --> <br class="clearfloat" />
      <div id="footer">
        <p align="center">&copy; Copyright 2009 Hondo Volunteer Fire Department | <a href="mailto:[email protected]">Contact Us</a><a href="http://www.legalhelpers.com/chapter-13-bankruptcy/chapter13.html"></a><br />Hosting provided by <a href="http://studiox.com/" target="_blank">Studio X</a></p>
      <!-- end #footer --></div>
    <!-- end #container --></div>
    <script type="text/javascript">
    <!--
    var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgRight:"../SpryAssets/SpryMenuBarRightHover.gif"});
    //-->
    </script>
    <?php include_once("/var/home/hondovfd/hondovfd.org/www/analyticstracking.php"); ?>
    </body>
    <!-- InstanceEnd --></html>

    you don't need all that bloat.  set a session during login of some kind of uniquely identifying id.  i.e.
    $_SESSION['id'] = $row_rs['id'];
    then on the pages you need to protect, check it like this....
    <?php
    session_start();
    if (!(isset($_SESSION['id']) && $_SESSION['id'] != '')) {
    die(header("Location: http://www.notinprotectedareas.com")); }
    ?>
    you can use an include file i.e.
    <?php require_once('login_check.php'); ?>
    where file is name login_check.php to make your auth controls clean on your protected pages.

Maybe you are looking for