art-d-sign
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 19.03.2003, 23:35   #1
TP-Insider
 
Benutzerbild von NicNac
 
Registriert seit: Apr 2001
Ort: Zürich, Schweiz
NicNac macht alles soweit korrekt
Unhappy

Mein erstes richtiges Script geht überhaupt nicht :((


Hi

Hab mich jetzt mal an ein Gästebuch auf Dateibasis gemacht. Wollte das selbst programmieren und beim Programmieren war ich mir eigentlich sicher dass es klappt aber es kommt eine ganze Seite voller Fehlermeldungen auf den Bildschirm und ich weiss nicht wieso Also das konzept ist eigentlich simpel: Jemand kann sich eintragen, das wird gespeichert und eine externe Datei (per include) zeigt bereits vorhandene Einträge an.
Die eigentlichen Fehler liegen aber irgendwie in der Datei mit dem Formular. Da hab ich drei verschiedene Fälle deklariert:
a) Wenn das Formular ausgefüllt wurde
b) Wenn es nicht korrekt ausgefüllt wurde
c ) Wenn es gar nicht ausgefüllt wurde

Per Hidden Datei wird dann der Counter an Beiträgen weitergeleitet. bitte helft mir..bit jetzt echt etwas deprimiert..hatte fast 2 Stunden an dem Ding und jetzt klappts überhaupt nicht

PHP-Code:
<body>
<font color="#000000" size="3" face="Arial, Helvetica, sans-serif"><strong><?php include("listing.php"); ?><br>
<br>
G&auml;stebuchscript auf Dateibasis</strong></font><br>
<?php
$counter 
"counter.txt";
$save_file "save_file.txt";
if(@
$HTTP_POST_VARS["submit"] == "Eintragen" && @$HTTP_POST_VARS["name"] != "" && @$HTTP_POST_VARS["email"] != "" && @$HTTP_POST_VARS["beitrag"] != ""){
$HTTP_POST_VARS["zaehler"]++;
$zaehler $HTTP_POST_VARS["zaehler"];
$name $HTTP_POST_VARS["name"];
$email $HTTP_POST_VARS["email"];
$beitrag $HTTP_POST_VARS["beitrag"];
$save = array($zaehler$name$email$beitrag);
$save_now implode("@@@"$save); //Alle zu speichernden Daten sind jetzt vorhanden!
if(@!file_exists($save_file)){
touch($save_file);
if(@!
file_exists($save_file)){
die (
"Die Datei kann leider nicht angelegt werden");
}
}
fopen($save_file"w");
fwrite($save_file$save_now);
fclose($save_file);
echo <<<EOT
<form name="form1" method="post" action="">
  <table width="300" border="0" cellspacing="0" cellpadding="0">
    <tr> 
      <td width="62"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong>Name:</strong></font></td>
      <td width="238"><input type="text" name="name"></td>
    </tr>
    <tr> 
      <td><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong>email:</strong></font></td>
      <td><input type="text" name="email"></td>
    </tr>
    <tr> 
      <td><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong>Beitrag:</strong></font></td>
      <td><textarea name="beitrag"></textarea></td>
    </tr>
    <tr> 
      <td colspan="2"><div align="center">
      <input type="hidden" name="counter" value="
EOT;
      echo (
$zaehler);
echo <<<EOT
          "><br>
          <input type="submit" name="submit" value="Eintragen">
        </div></td>
    </tr>
  </table>
</form>
EOT;
} elseif(@
$HTTP_POST_VARS["submit"] == "Eintragen" && @$HTTP_POST_VARS["name"] == "" && @$HTTP_POST_VARS["email"] == "" && @$HTTP_POST_VARS["beitrag"] == ""){  //Speichervorgang vollständig abgeschlossen
echo "Bitte füllen Sie das Formular korrekt aus! <br>";
echo <<<EOT
<form name="form1" method="post" action="">
  <table width="300" border="0" cellspacing="0" cellpadding="0">
    <tr> 
      <td width="62"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong>Name:</strong></font></td>
      <td width="238"><input type="text" name="name"></td>
    </tr>
    <tr> 
      <td><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong>email:</strong></font></td>
      <td><input type="text" name="email"></td>
    </tr>
    <tr> 
      <td><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong>Beitrag:</strong></font></td>
      <td><textarea name="beitrag"></textarea></td>
    </tr>
    <tr> 
      <td colspan="2"><div align="center">
      <input type="hidden" name="counter" value="
EOT;
      echo (
$zaehler);
echo <<<EOT
          "><br>
          <input type="submit" name="submit" value="Eintragen">
        </div></td>
    </tr>
  </table>
</form>
EOT;
} else {
if(@!
file_exists($counter)){ //Test ob die Datei existiert und wenn nicht wird sie jetzt angelegt
touch($counter);
fopen($counter"w");
fwrite($counter0);
fclose($counter);
if(@!
file_exists($counter)){
echo 
"Die Datei konnte nicht angelegt werden. Kontaktieren Sie bitte den Webmaster";
}
//Jetzt ist der counter spätestens vorhanden
fopen($counter"r");
$zaehler fgets($counter); //Hier kriegt die Variable Zaehler den counter-Wert
fclose($zaehler);
echo <<<EOT
<form name="form1" method="post" action="">
  <table width="300" border="0" cellspacing="0" cellpadding="0">
    <tr> 
      <td width="62"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong>Name:</strong></font></td>
      <td width="238"><input type="text" name="name"></td>
    </tr>
    <tr> 
      <td><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong>email:</strong></font></td>
      <td><input type="text" name="email"></td>
    </tr>
    <tr> 
      <td><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong>Beitrag:</strong></font></td>
      <td><textarea name="beitrag"></textarea></td>
    </tr>
    <tr> 
      <td colspan="2"><div align="center">
      <input type="hidden" name="counter" value="
EOT;
      echo (
$zaehler);
echo <<<EOT
          "><br>
          <input type="submit" name="submit" value="Eintragen">
        </div></td>
    </tr>
  </table>
</form>
EOT;
}
?>
</body>
__________________
http://www.exploreourplanet.net - Ladet eure schönsten Urlaubsbilder hoch!
NicNac ist offline   Mit Zitat antworten


Alt 20.03.2003, 09:19   #2
TP-Specialist
 
Registriert seit: Aug 2002
Ort: Nähe Wien
prefix ist auf einem guten Weg
ohne jetzt die zeit zu haben, den code zu analysieren, folgendes:

- warum fangst du nicht "klein" mit php an?? zuerst einfache sachen, dann komplexere! wenn es sooo leicht wäre, würde jeder ein php-profi sein

- TEST EARLY, TEST OFTEN - mehr kann ich dazu nicht sagen!

geh das ganze mal schrittweise durch und check, WO der fehler liegt!
prefix ist offline   Mit Zitat antworten
Alt 20.03.2003, 09:52   #3
TP-Junior
 
Registriert seit: Mar 2003
Ort: Land der Berge
wene75 macht alles soweit korrekt

Re: Mein erstes richtiges Script geht überhaupt nicht :((


Zitat:
Original geschrieben von NicNac

...

bitte helft mir..bit jetzt echt etwas deprimiert..hatte fast 2 Stunden an dem Ding und jetzt klappts überhaupt nicht

...
hi!

mannomann, du hast ja ganz nette erwartungen gegenüber diesem forum .

ohne dich jetzt demotivieren zu wollen, aber ich denke besser nicht an die stunden, die ich vor diversen problem(ch)en gesessen bin. am ende wars dann oft nur eine fehlende klammer oder so....

ich kann mich der antwort von prefix nur anschließen: KLEIN beginnen, schrittweise steigern! nicht umsonst starten alle programmier-tutorials mit einem schlichten "Hallo Welt"-progrämmchen.

gruß
__________________
wene75
---
nichts ist so gerecht unter den menschen verteilt wie die intelligenz - keiner glaubt, davon zu wenig zu haben.
wene75 ist offline   Mit Zitat antworten
Alt 20.03.2003, 10:26   #4
TP-Specialist
 
Benutzerbild von mike
 
Registriert seit: Jan 2002
Ort: TP/Dynamik
mike bringt sich richtig ein
na, soo schlimm ist es dann wohl auch nicht
da haben wir schon verwegenere Anfragen gehabt.

ansich sind in deinem Script syntaktisch nur ein paar Fehlerchen drin, die - wie ich meine - z.T. wohl davon kommen, dass du einen Teil aus einem Buch abgetippt/kopiert hast.

- Fehler 1)
PHP-Code:
<font color="#000000" size="3" face="Arial, Helvetica, sans-serif"><strong><?php #include("listing.php"); ?><br>
dein listing.php gibt es nicht, brauchst du nicht (denk ich mal)

- Fehler 2)
PHP-Code:
$f fopen($save_file"a+");
fwrite($f$save_now);
fclose($f); 
filefunktionen arbeiten mit Handlern, die sie an die folgenden Dateifunktionen weitergeben. Hierzu empfehle ich dir einfach mal einen Blick in die Hilfe.
Dein 'w' bewirkt ein überschreiben aller daten. 'a+' lässt die alten Daten in ruhe und hängt nur deine neue datei an.

Fehler 3)
PHP-Code:
$c fopen($counter"w");
fwrite($c0);
fclose($c);
if(@!
file_exists($counter)){
echo 
"Die Datei konnte nicht angelegt werden. Kontaktieren Sie bitte den Webmaster";
}
//Jetzt ist der counter spätestens vorhanden
$c fopen($counter"r");
$zaehler fgets($c); //Hier kriegt die Variable Zaehler den counter-Wert
fclose($c); 
gleicher Fehler wie oben. w/r passt in diesem Fall.

Dann läuft dein script.

Was aber nicht heisst, dass es logisch in Ordnung ist. Da hast du noch einiges vor dir.
__________________
Gehelft? Hier kannst du dich bedanken.

mike
mike ist offline   Mit Zitat antworten
Alt 20.03.2003, 17:35   #5
TP-Insider
 
Benutzerbild von NicNac
 
Registriert seit: Apr 2001
Ort: Zürich, Schweiz
NicNac macht alles soweit korrekt
Vielen Dank für deine Mühe Longfang Und an die beiden vorherigen User: Ich hab ja mit hallo welt angefangen und mich weit durch ein Lehrbuch durchgearbeitet. Wär ich noch vor "Hallo Welt" könnte ich so ein Script sicher noch nicht schreiben.
__________________
http://www.exploreourplanet.net - Ladet eure schönsten Urlaubsbilder hoch!
NicNac ist offline   Mit Zitat antworten
Alt 23.03.2003, 15:46   #6
TP-Insider
 
Registriert seit: Jan 2003
Ort: Österreich
alfmanuel macht alles soweit korrekt
Lightbulb

idee...


Hi...
also ich empfehle dir dazu mal die URL http://www.phpbox.de

dort gibts so ein GB-Tutorial auf Dateibasis

LG
Manu
__________________
Programmieren ist ein ständiger Wettkampf zwischen Programmieren, die versuchen, immer neuere und idiotensicherere Programme zu schreiben und dem Universum, das immer größere und dümmere Idioten erzeugt. Bisher hat immer das Universum gewonnen!
alfmanuel ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
Mein erstes richtiges Script geht überhaupt nicht :(( Mein erstes richtiges Script geht überhaupt nicht :((
« gd-library installieren??? | mysql-syntax funzt nich! »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:34 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67