kostenloser Webspace werbefrei: lima-city


Kontaktformular

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    s*****i

    hi, habe irgendwo einen kleinen fehler den ich nicht finde wäre nett wenn ihr noch einmal durch das skript schauen könnt da mehrere augen bekanntlich besser sehen. danke

    hier der skript:

    http://nopaste.info/b6f1cf01f5.html

    und hier der html code

    http://nopaste.info/e8f04a56db.html

    ich wünsch euch noch einen schönen sonntag.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. sandrock-jonas

    Kostenloser Webspace von sandrock-jonas

    sandrock-jonas hat kostenlosen Webspace.

    1. wenn im Formular
    <input name="name" type="text" size="32" maxlength="30">
    steht, dann muss es $_REQUEST['name'] anstatt von $_REQUEST['Name'], denn PHP legt Wert auf Groß- und Klein-Schreibung

    2. if($_REQUEST['Send']) {...} soll wohl überprüfen, ob das Formular abgesendet wurde. Das geht so nicht, denn du hast beim Sende-Button nicht name="Send" stehen: <input type="submit" value="send">
    Machs am besten so:
    <input type="submit" name="send" value="send">
    und im Script:
    if($_REQUEST['send'] == 'send') {...}
  4. Autor dieses Themas

    s*****i

    Ok, danke für deine Antwort, das habe ich nun alles gemacht aber jetzt kommt auf einmal diese Meldung.

    Parse error: syntax error, unexpected T_STRING in /home/webpages/lima-city/sieghai/html/kontaktformular-auswerten.php on line 30

    Danke für weitere Hilfe
  5. sandrock-jonas

    Kostenloser Webspace von sandrock-jonas

    sandrock-jonas hat kostenlosen Webspace.

    <?php
    mail('$Empfaenger', '$Mailbetreff', '$Mailnachricht', 'From:".$_REQUEST['Email'];
    ?>

    Da hast du ein doppeltes Anführungszeichen drin. Allgemein stimmt in Z.30 das mit den Anführungszeichen nicht. Machs so:

    <?php
    mail($Empfaenger,$Mailbetreff,$Mailnachricht,'From:'.$_REQUEST['Email']);
    ?>


    edit:
    Noch was:
    <?php
    echo"Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese <a href="kontaktformular.php">Seite</a>.";
    ?>

    muss

    <?php
    echo 'Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese <a href="kontaktformular.php">Seite</a>.';
    ?>

    heißen.

    Beitrag geändert: 12.8.2007 11:38:04 von sandrock-jonas
  6. Autor dieses Themas

    s*****i

    Danke für deine schnelle Antwort. Anscheinend arbeite ich zu unsauber und habe schon wieder etwas übersehen. Denn jetzt erscheint die Meldung.


    Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /home/webpages/lima-city/sieghai/html/kontaktformular-auswerten.php on line 36

    Habe versucht das problem selber zu lösen und habe heraus gefunden das ein Semikolon hin muss. Es sieht jetzt so aus:

    else
    {
    echo"Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese <a href="kontaktformular.php"> Seite </a>";
    }

    Oder liege ich mit meiner Annahme falsch?

  7. sandrock-jonas

    Kostenloser Webspace von sandrock-jonas

    sandrock-jonas hat kostenlosen Webspace.

    1. Sieh dir erstmal meinen Edit an, da hab ich das schon geschrieben.

    2. Zur Erklärung der Fehlermeldung:
    "unexpected T_STRING" heißt soviel wie "unterwartete Zeichenkette".
    Wenn du Strings mit echo ausgibts, gehörten diese in Anführungszeichen.
    mit
    <?php
    echo "bla";
    ?>

    gibst du z.B. einen String aus. Bei HTML-Code kann das aber zu Problemen führen, denn HTML benutzt für die Attribute der HTML-Tags (z.B. <a href="blubb.html">, wobei a der HTML-Tag ist, href ist das Attribut) ebenfalls Anführungszeichen. Der PHP-Parser kann nun nicht unterscheiden, ob es nun die Anführungszeichen für den PHP-String oder für den HTML-Tag sind. Er kann aber zwischen einfachen und doppelten Anfürhungszeichen unterscheiden. Wenn du
    <?php
    echo "<a href="kontaktformular.php">Seite</a>";
    ?>

    schreibst, dann interpretiert der PHP-Parser alle Anführungszeichen, denn sie sind alle gleich.
    Schreibst du hingegen
    echo '<a href="kontaktformular.php">Seite</a>';
    ?>[/code]
    dann weiß der Parser, dass er nur die einfachen Anführungszeichen interpretieren muss (er interpretiert immer die Art, die direkt hinter dem echo steht).

    Hoffe, das war halbwegs verständlich. Ansonsten nachfragen.
  8. Autor dieses Themas

    s*****i

    Deine Antworten sind super zu verstehen, und ich habe den Fehler gefunden, korregiert und auch gelernt was du mit deiner Hilfe mir sagen wolltest. Nur leider will dieser Quellcode garnicht enden da er jetzt diese Fehlermeldung auspuckt.

    Parse error: syntax error, unexpected $end in /home/webpages/lima-city/sieghai/html/kontaktformular-auswerten.php on line 40

    Das Ende vom "Lied" sieht so aus.

    ?>
    }

    ?>
    </body>
    </html>

    Nur Zeile 42 ist die Body Klammer...Jetzt bin ich ganz überfragt. Ich habe drei mal die Zeilen nachgezählt. 42 Die Antwort auf alles^^
  9. sandrock-jonas

    Kostenloser Webspace von sandrock-jonas

    sandrock-jonas hat kostenlosen Webspace.

    Naja, so langsam ist der Code (http://nopaste.info/e8f04a56db.html) nicht mehr so ganz auf dem neuesten Stand. Poste doch nochmal die Version, die du jetzt hast.

    Dazu kannst du auch die Lima-City-Code-Funktion (oder wie ich das auch immer nennen soll) benutzen.
    Das postest du so:

    [ code ]hier kommt dein Quellcode hin[ /code ]

    du musst nur die Leerzeichen in den [...] weglassen.
  10. Autor dieses Themas

    s*****i

    Ok, hier kommt der Link für den Quellcode.

    http://nopaste.info/14660876d0.html

    Ich hoffe das es dann auch der letzte Fehler war.
  11. sandrock-jonas

    Kostenloser Webspace von sandrock-jonas

    sandrock-jonas hat kostenlosen Webspace.

    Ok, du machst die Klammer (}) von der if-Anweisung nach der PHP-Klammer (?>) zu. Dadurch dürfte sich der Fehler ergeben. Der Schluss des Codes muss

    }
    ?>

    anstatt von

    ?>
    }

    heißen.

    edit:
    noch was:

    1. wenn im Formular
    <input name='name' type='text' size='32' maxlength='30'>
    steht, dann muss es $_REQUEST['name'] anstatt von $_REQUEST['Name'], denn PHP legt Wert auf Groß- und Klein-Schreibung


    Das gilt natürlich auch für alle anderen Felder. Das name="..." Attribut des <input>s entspricht immer dem Schlüssel der $_REQUEST-Variablem.
    zu <input type="text" name="email adress"> gehört $_REQUEST['email adress']
    zu <textarea name="your message"> gehört $_REQUEST['your message']
    zu <input type="text" name="bla"> gehört dann natürlich $_REQUEST['bla']
    etc.

    Beitrag geändert: 12.8.2007 13:03:53 von sandrock-jonas
  12. Autor dieses Themas

    s*****i

    So jetzt müsste alles richtig sein. Jedenfalls sieht es für mich so aus. Könntest du trotzdem noch einmal kurz auf der Seite www.haifanpage.de Nachschauen ob alles so richtig ist. Danke. Ich danke dir für deine Ausdauer bei der Fehlersuche.

    Das Kontaktformular findest du unter den Link comm.//

    P.s. Ich sehe gerade das die emails nicht bei mir ankommen. T-T

    Beitrag geändert: 12.8.2007 13:13:39 von sieghai

    Beitrag geändert: 12.8.2007 13:21:33 von sieghai
  13. sandrock-jonas

    Kostenloser Webspace von sandrock-jonas

    sandrock-jonas hat kostenlosen Webspace.

    Ich hab die beiden Scripte nochmal überarbeitet und ausprobiert. Bei mir hats jetzt geklappt:

    <html>
    <head>
    <title>haifanmessage</title>
    </head>
    <body>
    <form action="kontaktformular-auswerten.php" method="post">
      <table border="0" cellpadding="0" cellspacing="4">
        <tr>
          <td align="right">*name</td>
          <td><input name="name" type="text" size="32" maxlength="30"></td>
        </tr>
        <tr>
          <td align="right">*email adress</td>
          <td><input name="email" type="text" size="32" maxlength="40"></td>
        </tr>
        <tr>
          <td align="right">*country</td>
          <td><input name="country" type="text" size="32" maxlength="40"></td>
        </tr>
        <tr>
          <td align="right">*city</td>
          <td><input name="city" type="text" size="32" maxlength="40"></td>
        </tr>
        <tr>
          <td align="right">*subject</td>
          <td><input name="subject" type="text" size="32" maxlength="40"></td>
        </tr>
        <tr>
          <td align="right">*your message</td>
          <td><textarea name="message" cols="30" rows="10"></textarea></td>
        </tr>
        <tr>
          <td align="left">&nbsp;</td>
          <td><input type="submit" name="send" value="send"></td>
        </tr>
      </table>
    </form>
    </body>
    </html>


    und

    <?php
    
    echo '<html>
    <head>
    <title>Kontaktformular mit PHP</title>
    </head>
    <body>';
      
    $empfaenger = 'sieghai@gmx.de';
    
    if($_POST['send'] == 'send') {
      if(empty($_POST['name'])
         || empty($_POST['email'])
         || empty($_POST['country'])
         || empty($_POST['city'])
         || empty($_POST['subject'])
         || empty($_POST['message'])) {
        echo 'Bitte gehen Sie <a href="javascript:history.back();">zur&uuml;ck</a> und f&uuml;llen Sie alle Felder aus!';
      } else {
        $nachricht = 'Sie haben folgende Nachricht erhalten:
    
          Name: '.$_POST['name'].'
          E-Mail-Adresse: '.$_POST['email'].'
          Country: '.$_POST['country'].'
          City: '.$_POST['city'].'
          Betreff: '.$_POST['subject'].'
          Nachicht: '.$_POST['message'].'
          Datum/Zeit: '.date('d.m.Y H:i:s');
        $betreff = 'Kontakt: '.$_POST['subject'];
        mail($empfaenger,$betreff,$nachricht,'From: '.$_POST['name'].' <'.$_POST['email'].'>');
        echo"Vielen Dank f&uuml;r Ihre eMail!";
      }
    } else {
      echo '<a href="kontaktformular.php">Seite</a>';
    }
    
    echo '
    </body>
    </html>';
    
    ?>
  14. Autor dieses Themas

    s*****i

    Danke das du dir die Mühe gemacht hast noch einmal die beiden Quellcodes ganz durch zu schauen. Trotzdem habe ich heute viel gelernt. Danke, und einen schönen Sonntag noch.

    "Thread kann geschlossen werden"
  15. 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!