kostenloser Webspace werbefrei: lima-city


Probleme mit dem CGI-Script

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    n0x3l

    Kostenloser Webspace von n0x3l

    n0x3l hat kostenlosen Webspace.

    Hallo, ich habe ein Formular definiert in HTML und die Ergebnisse sollen mit dem CGI-sript verarbeitet werden, welches ich hochgeladen habe.
    So sieht das in HTML aus:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
           "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
    <title>Buttons zum Absenden oder Abbrechen definieren (herk&ouml;mmlich) - input, type, submit, reset</title>
    </head>
    <body>
    
    <h1>Das hier k&ouml;nnen Sie absenden!</h1>
    
    <p>Voraussetzung ist eine Verbindung ins Internet.
    Es werden keine Daten gespeichert, das verarbeitende
    CGI-Script gibt lediglich die eingelesenen Daten aus.</p>
    
    <form action="http://n0x3l.lima-city.de/index.php" method="get">
    
      <table border="0" cellpadding="5" cellspacing="0" bgcolor="#E0E0E0">
        <tr>
          <td align="right">Vorname:</td>
          <td><input name="Vorname" type="text" size="30" maxlength="30"></td>
        </tr>
        <tr>
          <td align="right">Zuname:</td>
          <td><input name="Zuname" type="text" size="30" maxlength="40"></td>
    
        </tr>
        <tr>
          <td align="right" valign="top">Kommentar:</td>
          <td><textarea name="Text" rows="10" cols="50"></textarea></td>
        </tr>
        <tr>
          <td align="right">Formular:</td>
    
          <td>
            <input type="submit" value=" Absenden ">
            <input type="reset" value=" Abbrechen">
          </td>
      </tr>
    </table>
    </form>
    
    <p><a href="../formularbuttons.htm#herkoemmlich">zur&uuml;ck</a></p>
    </body>
    
    </html>


    Den Sript habe ich irgendwo von Planetmail. Allerdings wenn man in HTML auf den Button absenden drückt, dann kommt diese Meldung.

    Parse error: syntax error, unexpected '@' in /home/webpages/lima-city/n0x3l/html/index.php on line 44

    Was ich darunter verstehe, ist das ich in der 44. Zeile ein @ vergessen habe, allerdings finde ich gar keinen Fehler.
    Vielleicht könnt ihr mir ja dabei helfen.

    Hier der Sript:
    <?php
    ###########################################################
    #
    #   (c) PlaNet Concept e.K., Lars Odermath, 2002
    #
    ###########################################################
    #
    # :: planetMail :: Version vom 27.11.2002
    #
    # COPYRIGHT NOTICE                                                           
    # Copyright 2002 PlaNet Concept e.K.     
    # All Rights Reserved.                     
    # EMail: kontakt@planetc.de
    # URL  : http://www.planetc.de 
    #                                                                           
    # :: planetMail :: darf von jedem kostenlos benutzt und geändert werden,
    # solange dieser Copyright-Verweis und die restlichen Kommentare erhalten bleiben.
    #
    # Mit dem Einsatz dieses Skripts akzeptieren Sie, daß PlaNet Concept e.K.,
    # Lars Odermath, von jeglicher Haftung und Gewährleistung hinsichtlich des
    # Einsatzes befreit ist.
    #
    # Der Verkauf dieses Skripts, auch in modifizierter Form, ist ohne vorherige
    # Absprache ausdrücklich untersagt! (Mit anderen Worten: Bitte fragen Sie uns,
    # bevor Sie versuchen, mit unserem Script Geld zu verdienen.)
    #
    # Um dieses Skript über das Internet oder ein anderes Medium
    # weiterzuverbreiten, benötigen Sie vorher unsere Erlaubnis. In jeden Fall
    # müssen der Copyright-Verweis und die restlichen Kommentare erhalten
    # bleiben.
    #
    ###########################################################
    # CONFIGURATION
    ###########################################################
    ###########################################################
    // Zu Testzwecken
    // 1 => Der Inhalt der eMail wird in eine Textdatei geschrieben (wenn Sie offline testen)
    // 0 => Die eMail wird verschickt
    $offline = 0;
    
    
    // Geben Sie hier ein gültige eMail-Adresse von sich an
    // (Dies ist bei manchen Providern voraussetzung, um Spamming zu verhindern)
    $email_from = test@web.de;
    
    
    // eMail-Adresse des Versenders als Absenderadresse nutzen (um direkt anworten zu können)
    // 1 => Ja
    // 0 => Nein
    $senders_email = 1;
    // Geben Sie nachfolgend den Namen des Formularfeldes an, in das der Absender seine
    // eMail-Adresse einträgt (Voreinstellung ist: eMail || BEACHTEN SIE GROSS-  KLEINSCHREIBUNG!!!!).
    // Die Eingabe ist nur dann notwendig, wenn Sie die vorangehende Option auf 1 setzen!
    $name_of_email = test@web.de;
    
    
    // DEFAULT-EINSTELLUNGEN
    // Diese gelten dann, wenn Sie in dem Formular keine entsprechenden hidden-fields
    // verwenden (name=mailto | name=subject | name=redirect).
    // Hidden-fields haben Vorrang vor den Default-Einstellungen!!!
    // Soll KEINE Kopie der eMail an eine zweite Adresse geschickt werden, so löschen Sie die Dummy-eMail-Adresse
    // kopie@ihre_domain.de, so daß nur noch die beiden Hochstriche stehen bleiben ().
    // Ansonsten geben Sie dort bitte eine gültige eMail-Adresse ein.
    // Genauere Informationen finden Sie in der README.txt
    $send_dat = array
    (dat1 => array(xyz@ihre_domain.de, kopie@ihre_domain.de, Kontakt über Internet,/planetmail/danke.htm),
    #dat2 => array(, , , ),
    #dat3 => array(, , , ),
    );
    
    
    // Felder aus dem Formular, die NICHT mit der eMail übertragen werden sollen.
    // TIPP: Verwenden Sie grafische Buttons als Absendeknopf, so werden die Koordinaten
    // der Klickstelle mit der eMail verschickt. Um diesen (unschönen) Effekt zu umgehen,
    // geben sie für den grafischen Button  name=senden ein.
    $ignore_fields = array('send_index','Submit','senden_y');
    
    ###########################################################
    # Ende der Configuration (AB HIER SOLLTE NICHTS MEHR GEÄNDERT WERDEN!!!!!!!!!!!)
    ###########################################################
    
    $send_index = $HTTP_POST_VARS['send_index'];
    
    // Prüfung, welches array zu senden verwendet werden soll
    if ($send_index!=) {
        $st=$send_index;
    } else {
        $st=dat1;
    }
    $mailto    = $send_dat[$st][0];
    $mail_cc = $send_dat[$st][1];
    $subject = $send_dat[$st][2];
    $redirect = $send_dat[$st][3];
    
     // Weiterleitung auf eine neues Seite nach Absenden
    Header(Location: .$redirect);
    
    // Datum (+deutsche Tage)
    $name_tag[0] = Sonntag;         
    $name_tag[1] = Montag; 
    $name_tag[2] = Dienstag; 
    $name_tag[3] = Mittwoch; 
    $name_tag[4] = Donnerstag; 
    $name_tag[5] = Freitag; 
    $name_tag[6] = Samstag;
    $num_tag = date( w);
    $day =$name_tag[$num_tag];
    $year = date( Y); 
    $n = date( d);
    $month = date( m);
    $time = (date(H:i));
    
    // Datum einfügen
    $mts = :: Gesendet am $day, den $n.$month.$year - $time Uhr ::<br><br>;
    
    // Formularfelder auslesen und in die eMail einsetzen
    // Zu ignorierende Felder werden NICHT eingesetzt
    while (list($nam,$val) = each($HTTP_POST_VARS)) {      
                if (in_array($nam, $ignore_fields)) continue;
                 $mts .= :: $nam ::<br>$val<br><br>;
    }
    $mts = str_replace(<br>, \n, $mts);
    
    $mts = strip_tags($mts);
    $mts = stripslashes($mts);
    
    // Absender-eMail-Adresse
    if ($senders_email==1) {
        $email_from = $HTTP_POST_VARS[$name_of_email];
    }
    
    $header=From: $email_from;
    
    // Kopie schicken
    if (!empty($mail_cc)) {
       $header .= \n;
       $header .= Cc: $mail_cc;
    }
    
    // email zum testen in ein Textfile schreiben...
    if ($offline==1) {
        $testmail=fopen(email.txt,w+);
       fwrite($testmail,$mts);
       fclose($testmail);
    }
    if ($offline==0) {
        // ...eMail verschicken
        mail ($mailto,$subject,$mts,$header);
    } else {
       // Fehlermeldung, wenn die eMail nicht geschickt werden konnte
        echo Es ist ein Fehler aufgetreten!\n;
       echo Bitte versuchen Sie es erneut...;
    }
    ?>


    PS: Als Absender und Empfänger E-Mail habe ich test@web.de eingegeben.

    Ich hoffe es kann mir einer weiterhelfen.

    Beitrag zuletzt geändert: 26.7.2009 21:45:43 von n0x3l
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Im Gegenteil es ist ein @ zu viel da.
    Es erwartet dort kein @, weil es nicht weiß, dass es ein String ist.
    Deshalb musst du das hier einsetzen:
    $email_from = "test@web.de";

    Die " zeigen dem Parser an, dass eine Zeichenkette folgt.

    Beitrag zuletzt geändert: 26.7.2009 21:50:00 von reimann
  4. Autor dieses Themas

    n0x3l

    Kostenloser Webspace von n0x3l

    n0x3l hat kostenlosen Webspace.

    Ich habe was geändert und da kann wieder eine Fehlermeldung.

    Dann habe ich einfach einen anderen Code benutzt:

    <?php
    $fmtResponse= implode("", file("$redirect"));
    $message= "Formularinhalt:\n\n";
    foreach($HTTP_POST_VARS as $name=> $value) {
    $str = stripslashes($value);
    $message.= "$name: $str\n\n";
    }
    
    //Anhängen der IP, Browser und Datum
    $message.= "-----------------------------\n";
    $message.= date("l dS of F Y h:i:s A") . "\n";
    $message.= $REMOTE_ADDR . "\n";
    $message.= $HTTP_USER_AGENT;
    
    mail($admin, $subject, $message, "From: $email");
    echo $fmtResponse;
    ?>


    Quelle: http://www.ekiwi.de/snippets/php/formular/einfacher_formmailer.htm

    Aber da kommt auch eine Fehlermeldung.
    Warning: file() [function.file]: Filename cannot be empty in /home/webpages/lima-city/n0x3l/html/index.php on line 2

    Warning: implode() [function.implode]: Invalid arguments passed in /home/webpages/lima-city/n0x3l/html/index.php on line 2
  5. Ja dieser Quelltext entsprach nichtmehr dem original. Einige Fehler konnte ich beheben, aber dann kam ein Fehler, wo ich nicht wusste wie ichs machen soll, also hab ich den original Quellcode runtergeladen, allerdings war der ziemlich anders und enthielt diesen Fehler nicht.
    Wo hast du das erste runtergeladen?

    Zum zweiten: Ich weiß jetzt auch nicht woran es liegt, außer, dass der Dateiname leer war und das geht nicht.
    Hast du dazu auch den Code von dem Formular oder ist es immernoch dasselbe Formular?

    Ich würde dir empfehlen nochmal den Quelltext hier im original runterzuladen und zu modifizieren. Dabei beachte aber bitte, dass du die " nicht entfernst.
    http://www.planetc.de/download/planetmail/planetmail.html

    Beitrag zuletzt geändert: 27.7.2009 9:20:06 von reimann
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!