Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP-Pomoc] Formularz z załącznikiem
Forum PHP.pl > Forum > Przedszkole
grajek4
Postanowiłem napisać skrypt formularza z możliwością wysłania załącznika napisał i gdzieś mam błąd ale nie wiem gdzie proszę o pomoc :
Kod
[<?php
    
    echo '<div id="kontakt">';
    
    $imie = stripslashes(htmlspecialchars(trim($_POST[imie])));
    $mail = stripslashes(htmlspecialchars(trim($_POST[mail])));
    $tresc = stripslashes(htmlspecialchars(trim($_POST[tresc])));
    
    if(isset($_COOKIE[sent])) echo '<p style="color: red;">Nie możesz tak szybko po sobie wysyłać wiadomości.</p>';
    
    if ((isset($_POST[wyslij])) && (!isset($_COOKIE[sent])))
    {
    if (empty($imie)) {
    $error=1;
    $warmings[imie] = " style=\"border: 1px solid red;\" ";
    echo '<span class="form-kom1">Nie wypełniłes/as pola <span class="form-kom2">- Imię/nick -</span></span>
'; }
    
    if (!ereg("^.+@.+\..+$" , $mail)) {
    $error=1;
    $warmings[mail] = " style=\"border: 1px solid red;\" ";
    echo '<span class="form-kom1">Nie wypełniłes/as pola <span class="form-kom2">- E-mail -</span></span>
'; }
    
    if (empty($tresc)) {
    $error=1;
    $warmings[tresc] = " style=\"border: 1px solid red;\" ";
    echo '<span class="form-kom1">Nie wypełniłes/as pola <span class="form-kom2">- Wiadomość -</span></span>
'; }
    
    if ((strlen($tresc)) >= 150) {
    $error=1;
    $znaki = strlen($tresc);
    $warmings[tresc] = " style=\"border: 1px solid red;\" ";
    echo '<span class="form-kom1">Twoja <span class="form-kom2">- Wiadomość -</span> jest za długa.

    Jest <span class="form-kom2">- '.$znaki.' -</span> znaków.</span>
'; }
    
    if ($error==0) {
    $list = "Imię - $imie / E-mail - $mail\n Treść - $tresc\n\n";
    $naglowki .= "Content-type: text/html; charset=kodowanie\r\n";
    $naglowki .= "From: $mail";
    if (@mail("pavlo4111@o2.pl","Kontakt ze strony", $list, $naglowki,$tresc,$naglowki)) {
    
    echo '<p style="color: #FF0000;">Wiadomośc została wysłana.</p>';
    
    setcookie ("sent", "sent", time()+60); // ustawia ciacho na 60 sekund
    } else {
    echo '<p style="color: #FF0000;">Nie udało się wysłać wiadomości,
  proszę spróbować później.</p>'; }
    }
     $tresc="--___$znacznik==\n";
     $tresc .="Content-Type: text/plain; charset=\"iso-8859-2\"\n";
     $tresc .="Content-Transfer-Encoding: 8bit\n";
     $tresc .="\n$tresclistu\n";
    
     $plik_nazwa_tmp = $_FILES["plik1"]["tmp_name"];
     $plik_nazwa_oryginalna = $_FILES["plik1"]["name"];
     $plik_wielkosc = $_FILES["plik1"]["size"];
    
    if (is_uploaded_file($plik_nazwa_tmp))
     {
       $tresc .="--___$znacznik==\n";
       $tresc .="Content-Type: image/gif\n";
       $tresc .="Content-Disposition: attachment;\n";
       $tresc .=" filename=\"$plik_nazwa_oryginalna\"\n";
       $tresc .="Content-Transfer-Encoding: base64\n\n";
       $f = fopen($plik_nazwa_tmp,"rb");
       $dane = fread($f,filesize($plik_nazwa_tmp));
       fclose($f);
       $tresc .= chunk_split(base64_encode($dane));
       $tresc .="--___$znacznik==--\n";
     }
    
    }
    
    echo '<form action="'.$_SERVER[PHP_SELF].'" method="post" id="formularz">
    <p class="kontakt-uwaga"><span class="gwiazdka">*</span> Wiadomość do 150 znaków</p>
    <fieldset><legend><span class="margines">Formularz kontaktowy: </span></legend>
    <label for="pole1"> - Imię/nick -</label>
    <input type="text" name="imie" '.$warmings[imie].' value="'.$_POST[imie].'" id="pole1" />

    <label for="pole2"> - E-mail -</label>

    <input type="text" name="mail" '.$warmings[mail].' value="'.$_POST[mail].'" id="pole2" />

    <label for="pole3"><span class="gwiazdka">*</span> - Wiadomość - </label>
    <textarea '.$warmings[tresc].' name="tresc" cols="25" rows="5" id="pole3">'.$_POST[tresc].'</textarea>

    <input type="submit" value="Wyślij" class="przycisk" name="wyslij" />

    <INPUT type="file" name="plik1">

    <INPUT type="file" name="plik2"
    </fieldset>
    </form>
    
    </div>';
    ?>]
skowron-line
Cytat(grajek4 @ 5.05.2009, 13:38:49 ) *
Postanowiłem napisać skrypt formularza z możliwością wysłania załącznika napisał i gdzieś mam błąd ale nie wiem gdzie proszę o pomoc :


no ale co jest nie tak questionmark.gif nie wysyla sie czy jak questionmark.gif
grajek4
nie wysyła .
skowron-line
zdejmij @ z przed funkcji mail może pokaże jakiś błąd.
grajek4
Nie wypełniłes/as pola - E-mail - smile.gif

Może przejrzy ktoś ten skrypt i zobaczy co jest nie tak questionmark.gif
Spawnm
daj w tagi php aby był czytelniejszy to będzie łatwiej smile.gif
grajek4
dał bym jak bym wiedział jak
Spawnm
no i nie dałeś tagów php...

mail("pavlo4111@o2.pl","Kontakt ze strony", $list, $naglowki,$tresc,$naglowki)
to tak powinno być? bo nie przypominam sobie aby mail() przyjmował 6 parametrów ...
grajek4
nie wiem popraw jak możesz i zobacz czy działa
Spawnm
kpisz ? Nikt za ciebie robić nie będzie , wskazałem ci błąd teraz sam kombinuj .
grajek4
ja i tak za bardzo się na tym nie znam więc proszę was o pomoc.
piotrooo89
mail" title="Zobacz w manualu PHP" target="_manual i zobacz ile argumentów przyjmuje funkcja mail i świat stanie się prostszy. wyprzedzam Twoją odpowiedz że tam tego nie ma. jest powiem więcej jest to pierwsza linijka.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.