Bis du mit deinem sketch wirklich zufrieden ?
Solange (buttonState == HIGH) wird startzeit immer wieder neu gesetzt und Daten_senden() aufgerufen,
ansonsten (buttonState == LOW) wird zeit hochgezählt und immer wieder client.stop() aufgerufen
NEIN! ich war noch nicht zufrieden 
Daten senden wurde zwar immer wieder aufgerufen, aber es konnte nicht gesendet werden,
weil noch kein client.stop() aufgerufen wurde... habe ich so herausgefunden. ist aber nicht schön gewesen, das stimmt,
deswegen steckt es jetzt in einer while-Schleife.
daten senden:
void Daten_senden()
{
if (client.connect(server, 80)) // Verbindung zum Server aufbauen
{
client.print("GET ");
.........usw.......
Dann ist ist mir noch aufgefallen das wenn ich den Button länger drücke,
hier dann nicht wie von mir gewünscht gezählt wird.
Ich brauchte die Zeit vom ersten Drücken bis zum nächste mal drücken, egal wie lange das Signal ( in dem Testfall, der Button) gedrückt wird.
Nach vielen Stunden ^^ habe ich es nun gelöst (und gleich einen 2ten Button eingebaut - ist aber nur zur Informationszwecken)
Es schaut so aus: ( glaube ich habe zuviele hilfs-Zähler eingebaut,.egal)
unsigned long startTime ;
unsigned long zeit;
int C = 0;
int C2 = 0;
int C3 = 0;
void loop(){
// read the state of the pushbutton value:
buttonState = digitalRead(buttonPin);
buttonState2 = digitalRead(buttonPin2);
// check if the pushbutton is pressed.
// if it is, the buttonState is HIGH:
if (buttonState == HIGH) {
//Serial.println(millis());
C3 = 0;
digitalWrite(ledPin, HIGH);
digitalWrite(ledPin2, LOW);
while ( C < 1){
zeit = millis() - startTime;
Daten_senden();
C++;
}
while ( C < 2){
startTime = millis();
C++;
Serial.println("Werkzeug offen");
Serial.print("Zyklus: ");
Serial.println(zeit);
}
}
else if (buttonState2 == HIGH){
digitalWrite(ledPin, LOW);
digitalWrite(ledPin2, HIGH);
while ( C2 < 1){
Serial.println("Werkzeug geschlossen");
C2++;
}
}
else if (buttonState == LOW){
while ( C3 < 1){
Serial.println("Zyklus startet.........");
//Serial.println(zeit);
C3++;
}
digitalWrite(ledPin, LOW);
digitalWrite(ledPin2, LOW);
client.stop();
C = 0;
C2 = 0;
}
}
Das hier sind meine ersten Gehversuche mit Arduino, bzw überhaupt mit Drähten ;)....
Daten_senden() schickt die Arduino Variable "zeit" an meine PHP Datei, welche dieses
in eine SQL Tabelle einträgt.
Mein allgemeiner Plan:
Habe vor ein BDE-System Betriebsdatenerfassung – Wikipedia auf Arduino und php Basis in unserer Firma zum laufen zu bringen.
Hier soll dann ... später... die laufende Artikelnummer per Tastenfeld in Arduino eingegeben werden.
Dieses und der aktuelle Zyklus wird dann im LCD Display angezeigt.
Aus der SQL Datenbank soll dann der "Wunsch-SOLL-Zyklus" an den Arduino gesendet werden ..viel später ^^..
und dieses auch im Display anzeigen, so das die Arbeiter dann sehen, mist Maschine läuft zu langsam..... ( nur zur info-zwecken)
Der ganze Spaß kann dann im Browser betrachtet werden, welcher Artikel auf welcher Maschine und mit welchen Zyklus läuft.
Wenn zu langsam---> email an den Chef.. oder so
- - dann ist ja alles möglich was php , mysql und Ajax so hergeben....
..... Großes Kopfkino.... aber so ist mein Plan 
Video: