cannot fiew webserver

i tried the readwrite example and the list file example allready both worked fine.

So, what IS the file on the SD card called?

Make the read/write example create a file called index.htm. Write some bogus data to it.

Move the SD card to the PC, and put the real data in it.

Move the card back to the Arduino, and run the list file example. Is the file still there? Comment out the write part of the read/write example, and just read the file. Does that work?

PaulS:
So, what IS the file on the SD card called?

Make the read/write example create a file called index.htm. Write some bogus data to it.

Move the SD card to the PC, and put the real data in it.

Move the card back to the Arduino, and run the list file example. Is the file still there? Comment out the write part of the read/write example, and just read the file. Does that work?

I tried it and it works!!! thanks for that tip that did it appreciate your help and hope other people see this solution and try this. all of the people who reacted to this post thx for the help.

the only thing what is wrong with the code is that analog A1 and A3 dont pick up the analog value but thats a sketch problem i think. the A2 picks up the value and. A2 is being recorded on the server and updated in real time.

the only thing what is wrong with the code is that analog A1 and A3 dont pick up the analog value but thats a sketch problem i think.

You don't ever read analog pins 1 or 3, so, yes it's a sketch problem.

PaulS:
You don't ever read analog pins 1 or 3, so, yes it's a sketch problem.

You are right when I posted that i looked into the sketch and saw digitalread... for an analog value changed it to this

void XML_response(EthernetClient cl)
{
  int analog_val1;
  int analog_val2;
  int analog_val3;

  cl.print("<?xml version = \"1.0\" ?>");
  cl.print("<inputs>");

  cl.print("</button2>");
  // read analog pin A2
  analog_val1 = analogRead(1);
  cl.print("<analog2>");
  cl.print(analog_val1);
  cl.print("</analog2>");


  cl.print("</button2>");
  // read analog pin A2
  analog_val2 = analogRead(2); /// dit is de goede die werkte
  cl.print("<analog1>");
  cl.print(analog_val2);
  cl.print("</analog1>");

  cl.print("</button2>");
  // read analog pin A2
  analog_val3 = analogRead(3);
  cl.print("<analog3>");
  cl.print(analog_val3);
  cl.print("</analog3>");


  cl.print("</inputs>");
}

but then im not getting any values working on it now tips are welcome. btw thanks for the patience with helping me. I just started with arduino fro my internship im bussy with arduino for about 3 to 4 weeks and if i may i say i made some good progress.

  cl.print("<?xml version = \"1.0\" ?>");
  cl.print("<inputs>");

  cl.print("</button2>");

You open the xml object and the inputs object and then close the not-yet-opened button2 object.

Whatever you are sending this XML data to is going to barf on that.

  analog_val1 = analogRead(1);
  cl.print("<analog2>");
  cl.print(analog_val1);
  cl.print("</analog2>");

Why does the analog value from pin 1 go with the analog2 object?

  cl.print("</button2>");
  // read analog pin A2
  analog_val2 = analogRead(2); /// dit is de goede die werkte
  cl.print("<analog1>");
  cl.print(analog_val2);
  cl.print("</analog1>");

You incorrectly close the button2 object again, and then associate the value of analog pin 2 to the analog1 object. Why?

  // read analog pin A2
  analog_val3 = analogRead(3);
  cl.print("<analog3>");
  cl.print(analog_val3);
  cl.print("</analog3>");

The code doesn't do what the comment says, but at least you got the pin number and the object name to match.

I got it working now, changed some things here and there (in the sketch and the code in the SD file). The below code is the working one, I'll also include the SD sketch so other people can take this code and have a working webserver which monitor IRT three analog values.

Everyone thx for the help appreciate it thanks alot.

The code at the top is for the Arduino sketch, the bottom code is for the Sd file.

Hope other people see this post and try it and learn from the mistakes i made.

#include <SPI.h>
#include <Ethernet2.h>
#include <SD.h>

// size of buffer used to capture HTTP requests
#define REQ_BUF_SZ   50

// MAC address from Ethernet shield sticker under board
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(10, 10, 2, 143); // IP address, may need to change depending on network
EthernetServer server(80);  // create a server at port 80
File webFile;               // the web page file on the SD card
char HTTP_req[REQ_BUF_SZ] = {0}; // buffered HTTP request stored as null terminated string
char req_index = 0;              // index into HTTP_req buffer
//const int ss = 53;

void setup()
{
  //pinMode(53, OUTPUT);
  /* disable Ethernet chip
    pinMode(10, OUTPUT);
    digitalWrite(10, HIGH);*/

  Serial.begin(9600);       // for debugging

  // initialize SD card
  Serial.println("Initializing SD card...");
  if (!SD.begin(4)) {
    Serial.println("ERROR - SD card initialization failed!");
    return;    // init failed
  }
  Serial.println("SUCCESS - SD card initialized.");
  // check for index.htm file
  if (!SD.exists("index.htm")) {
    Serial.println("ERROR - Can't find the index.htm file!");
    return;  // can't find index file
  }
  Serial.println("SUCCESS - Found index.htm file.");

  Ethernet.begin(mac, ip);  // initialize Ethernet device
  server.begin();           // start to listen for clients
}

void loop()
{
  EthernetClient client = server.available();  // try to get client

  if (client) {  // got client?
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {   // client data available to read
        char c = client.read(); // read 1 byte (character) from client
        // buffer first part of HTTP request in HTTP_req array (string)
        // leave last element in array as 0 to null terminate string (REQ_BUF_SZ - 1)
        if (req_index < (REQ_BUF_SZ - 1)) {
          HTTP_req[req_index] = c;          // save HTTP request character
          req_index++;
        }
        // last line of client request is blank and ends with \n
        // respond to client only after last line received
        if (c == '\n' && currentLineIsBlank) {
          // send a standard http response header
          client.println("HTTP/1.1 200 OK");
          // remainder of header follows below, depending on if
          // web page or XML page is requested
          // Ajax request - send XML file
          if (StrContains(HTTP_req, "ajax_inputs")) {
            // send rest of HTTP header
            client.println("Content-Type: text/xml");
            client.println("Connection: keep-alive");
            client.println();
            // send XML file containing input states
            XML_response(client);
          }
          else {  // web page request
            // send rest of HTTP header
            client.println("Content-Type: text/html");
            client.println("Connection: keep-alive");
            client.println();
            // send web page
            webFile = SD.open("index.htm");        // open web page file
            if (webFile) {
              while (webFile.available()) {
                client.write(webFile.read()); // send web page to client
              }
              webFile.close();
            }
          }
          // display received HTTP request on serial port
          Serial.print(HTTP_req);
          // reset buffer index and all buffer elements to 0
          req_index = 0;
          StrClear(HTTP_req, REQ_BUF_SZ);
          break;
        }
        // every line of text received from the client ends with \r\n
        if (c == '\n') {
          // last character on line of received text
          // starting new line with next character read
          currentLineIsBlank = true;
        }
        else if (c != '\r') {
          // a text character was received from client
          currentLineIsBlank = false;
        }
      } // end if (client.available())
    } // end while (client.connected())
    delay(1);      // give the web browser time to receive the data
    client.stop(); // close the connection
  } // end if (client)
}

// send the XML file with switch statuses and analog value
void XML_response(EthernetClient cl)
{
  int analog_val1;
  int analog_val2;
  int analog_val3;

  cl.print("<?xml version = \"1.0\" ?>");
  cl.print("<inputs>");
  cl.print("<button1>");
  analog_val1 = analogRead(1);
  cl.print("<analog1>");
  cl.print(analog_val1);
  cl.print("</analog1>");
  cl.print("</button1>");

  cl.print("<button2>");
  analog_val2 = analogRead(2);
  cl.print("<analog2>");
  cl.print(analog_val2);
  cl.print("</analog2>");
  cl.print("</button2>");


  cl.print("<button3>");
  analog_val3 = analogRead(3);
  cl.print("<analog3>");
  cl.print(analog_val3);
  cl.print("</analog3>");
  cl.print("</button3>");
  cl.print("</inputs>");
}

// sets every element of str to 0 (clears array)
void StrClear(char *str, char length)
{
  for (int i = 0; i < length; i++) {
    str[i] = 0;
  }
}

// searches for the string sfind in the string str
// returns 1 if string found
// returns 0 if string not found
char StrContains(char *str, char *sfind)
{
  char found = 0;
  char index = 0;
  char len;

  len = strlen(str);

  if (strlen(sfind) > len) {
    return 0;
  }
  while (index < len) {
    if (str[index] == sfind[found]) {
      found++;
      if (strlen(sfind) == found) {
        return 1;
      }
    }
    else {
      found = 0;
    }
    index++;
  }

  return 0;
}
<!DOCTYPE html>
<html>
    <head>
        <title>Analoge waardes van A1 A2 A3</title>
        <script>
        function GetArduinoInputs()
        {
            nocache = "&nocache=" + Math.random() * 1000000;
            var request = new XMLHttpRequest();
            request.onreadystatechange = function()
            {
                if (this.readyState == 4) {
                    if (this.status == 200) {
                        if (this.responseXML != null) {
                            // extract XML data from XML file (containing switch states and analog value)
                            document.getElementById("input1").innerHTML =
                                this.responseXML.getElementsByTagName('analog1')[0].childNodes[0].nodeValue;
                            document.getElementById("input2").innerHTML =
                                this.responseXML.getElementsByTagName('analog3')[0].childNodes[0].nodeValue;
                            document.getElementById("input3").innerHTML =
                                this.responseXML.getElementsByTagName('analog2')[0].childNodes[0].nodeValue;
                        }
                    }
                }
            }
            request.open("GET", "ajax_inputs" + nocache, true);
            request.send(null);
            setTimeout('GetArduinoInputs()', 1000);
        }
    </script>
    </head>
    <body onload="GetArduinoInputs()">
        <h1>Analoge waardes van A1 A2 A3</h1>
        <p>Analog (A1): <span id="input1">...</span></p>
        <p>Analog (A2): <span id="input3">...</span></p>
		<p>Analog (A3): <span id="input2">...</span></p>
    </body>
</html>