• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Formularz Kontaktowy z załącznikiem, nie dochodzi załącznik

VPS Starter Arubacloud
+1 głos
343 wizyt
pytanie zadane 8 lutego 2021 w HTML i CSS przez Darek757 Nowicjusz (220 p.)

Nie dziala wysylanie załączonego pliku. Wiadomość dochodzi a plik nie. Poproszę o wskazówki. Dzięki

<div class="container">
    <div class="row">
        <div class="col-xl-8 offset-xl-2 py-5">

                        <h3>Contact Form of 
                        <a href="http://thebestinlondon.co.uk/"> London Elite Business Club333</a>
                        </h3>

                        <p class="lead">    </p>


                    <form id="contact-form" method="post" action="contact.php" role="form">
                    <div class="messages"></div>
              <div class="controls">
				   
				   
                        <div class="row">
                              <div class="col-md-6">
                                  <div class="form-group">
                                        <label for="form_name">Firstname *</label>
                                        <input id="form_name" type="text" name="name" class="form-control" placeholder="Please enter your firstname *" required="required" data-error="Firstname is required.">
                                        <div class="help-block with-errors"></div>
                                  </div>
                              </div>
						
						
                               <div class="col-md-6">
                                    <div class="form-group">
                                         <label for="form_lastname">Lastname *</label>
                                         <input id="form_lastname" type="text" name="surname" class="form-control" placeholder="Please enter your lastname *" required="required" data-error="Lastname is required.">
                                          <div class="help-block with-errors"></div>
                                    </div>
                              </div>
                        </div>
						
						
                        <div class="row">
                            <div class="col-md-6">
                                <div class="form-group">
                                    <label for="form_email">Email *</label>
                                    <input id="form_email" type="email" name="email" class="form-control" placeholder="Please enter your email *" required="required" data-error="Valid email is required.">
                                    <div class="help-block with-errors"></div>
                                </div>
                            </div>
                            <div class="col-md-6">
                                <div class="form-group">
                                    <label for="form_need">Please specify your need *</label>
                                    <select id="form_need" name="need" class="form-control" required="required" data-error="Please specify your need.">
                                        <option value=""></option>
                                        <option value="Request quotation">Order a spot</option>
                                        <option value="Request order status">Request copy of an invoice</option>
                                        <option value="Request copy of an invoice">Suggestions and comments</option> 
                                        <option value="Other">Other</option>
                                    </select>
                                    <div class="help-block with-errors"></div>
                                </div>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-md-12">
                                <div class="form-group">
                                    <label for="form_message">Message *</label>
                                    <textarea id="form_message" name="message" class="form-control" placeholder="Message for me *" rows="4" required="required" data-error="Please, leave us a message."></textarea>
                                    <div class="help-block with-errors"></div>
                                </div>
                            </div>
							
							
			    
        <div style="position:relative;">
		<a class='btn btn-primary' href='javascript:;'>
			Choose File...
			<input type="file" style='position:absolute;z-index:2;top:0;left:0;filter: alpha(opacity=0);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";opacity:0;background-color:transparent;color:transparent;' name="file_source" size="40"  onchange='$("#upload-file-info").html($(this).val());'>
		</a>
		&nbsp;
		<span class='label label-info' id="upload-file-info"></span>
	     </div>
                                     		

							
                            <div class="col-md-12">
                                <input type="submit" class="btn btn-success btn-send" value="Send message">
                            </div>
                        </div>
						
						
						





						
						
                           <div class="row">
                                <div class="col-md-12">
                                <p class="text-muted">
                                    <strong>*</strong> These fields are required. Contact form by
                                    <a href="http://thebestinlondon.co.uk/" target="_blank">333 The Best in London</a>.</p>
                                 </div>
                           </div>
                    </div>

                </form>

         </div>
            <!-- /.8 -->

     </div>
        <!-- /.row-->

</div>
    <!-- /.container-->
	
body {
    font-family: 'Open Sans', sans-serif;
	background-color: #FCFBF4;
	font-size: 16px;
}

h1 {
    margin-bottom: 40px;
}

label {
    color: #333;
}

.btn-send {
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    margin-bottom: 20px;
}

.help-block.with-errors {
    color: #ff5050;
    margin-top: 5px;
}   

/*      od tego miejsca z mojego css dane*/


footer {
    background-color: #02290B;
    color: #ffd700;
    font-size: 13px;
    line-height: 10px;
}
footer a {
color: #ffd700;
}

.navbar-toggler-icon {
    display: inline-block;
    width: 1.3em;
    height: 1.3em;
    vertical-align: middle;
    content: "";
    background: no-repeat center center;
    background-size: 100% 100%;

}

.navbar-light .navbar-nav .active > .nav-link, .navbar-light .navbar-nav .nav-link.active, .navbar-light .navbar-nav .nav-link.show, .navbar-light .navbar-nav .show > .nav-link {
color: #ffd700;
margin-left: 11px;
padding: 5px 10px 5px 10px;
}

.row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
	text-align: center;
   margin: 0 auto;
   }

.navbar-nav li:hover>.dropdown-menu
{
	display: block;
}

.navbar
{
	min-height: 40px;    
padding: .4rem 1rem;	
}

.navbar-brand img
{
	margin-bottom: 6px;
        margin-right: 25px;
}

.navbar-brand 
{
    font-size: 16px;
    line-height: 29px;
    display: inline;
	   font-weight: 500;
    margin-right: 35px;
}

.navbar-brand  img:hover {
    transform: scale(1.0,1.0);
    z-index: 99;	   
}

hr.light {
border-top: 1px solid #ffd700;
width: 75%;
margin-top: .8rem;
margin-bottom: 1rem;
}

hr.light-100 {
border-top: 1px solid #ffd700;
width: 100%;
margin-top: 10px;
margin-bottom: 10px;
}
/*
li a {
display: block;
float: left;
text-align: center;
font-size: 13px;

font-weight: bold;
font-family: trebuchet ms, helvetica, verdana;
width: auto;
text-decoration: none;

background-color:#054213;
padding: 4px 4px 5px 4px;
margin: 0px 1px 5px 0px;
border: 1px solid #ffd700;
border-radius: 2px;

}

li a:hover {

background: #054213;
border: 1px solid #ffd700;
border-radius: 2px;


}
*/ 
.bg-success {
    background-color: #02290B !important;
}












<?php
/*
 *  CONFIGURE EVERYTHING HERE
 */

// an email address that will be in the From field of the email.
$from = 'Admin of 333 TheBest in London <admin@thebestinlondon.co.uk>';

// an email address that will receive the email with the output of the form
$sendTo = 'Contact Form 333 TheBest in London <lebc333@outlook.com>';

// subject of the email
$subject = 'From LEBC333';

// form field names and their translations.
// array variable name => Text to appear in the email
$fields = array('name' => 'Name', 'surname' => 'Surname', 'need' => 'Need', 'email' => 'Email', 'message' => 'Message'); 

// message that will be displayed when everything is OK :)
$okMessage = 'Contact form successfully submitted. Thank you, We will get back to you soon!';

// If something goes wrong, we will display this message.
$errorMessage = 'There was an error while submitting the form. Please try again later';

/*
 *  LET'S DO THE SENDING
 */

// if you are not debugging and don't need error reporting, turn this off by error_reporting(0);
error_reporting(E_ALL & ~E_NOTICE);

try
{

    if(count($_POST) == 0) throw new \Exception('Form is empty');
            
    $emailText = "You have a new message from your contact form\n=============================\n";

    foreach ($_POST as $key => $value) {
        // If the field exists in the $fields array, include it in the email 
        if (isset($fields[$key])) {
            $emailText .= "$fields[$key]: $value\n";
        }
    }

    // All the neccessary headers for the email.
    $headers = array('Content-Type: text/plain; charset="UTF-8";',
        'From: ' . $from,
        'Reply-To: ' . $from,
        'Return-Path: ' . $from,
    );
    
    // Send email
    mail($sendTo, $subject, $emailText, implode("\n", $headers));

    $responseArray = array('type' => 'success', 'message' => $okMessage);
}
catch (\Exception $e)
{
    $responseArray = array('type' => 'danger', 'message' => $errorMessage);
}


// if requested by AJAX request return JSON response
if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
    $encoded = json_encode($responseArray);

    header('Content-Type: application/json');

    echo $encoded;
}
// else just display the message
else {
    echo $responseArray['message'];
}
$(function () {

    // init the validator
    // validator files are included in the download package
    // otherwise download from http://1000hz.github.io/bootstrap-validator

    $('#contact-form').validator();


    // when the form is submitted
    $('#contact-form').on('submit', function (e) {

        // if the validator does not prevent form submit
        if (!e.isDefaultPrevented()) {
            var url = "contact.php";

            // POST values in the background the the script URL
            $.ajax({
                type: "POST",
                url: url,
                data: $(this).serialize(),
                success: function (data)
                {
                    // data = JSON object that contact.php returns

                    // we recieve the type of the message: success x danger and apply it to the 
                    var messageAlert = 'alert-' + data.type;
                    var messageText = data.message;

                    // let's compose Bootstrap alert box HTML
                    var alertBox = '<div class="alert ' + messageAlert + ' alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>' + messageText + '</div>';
                    
                    // If we have messageAlert and messageText
                    if (messageAlert && messageText) {
                        // inject the alert to .messages div in our form
                        $('#contact-form').find('.messages').html(alertBox);
                        // empty the form
                        $('#contact-form')[0].reset();
                    }
                }
            });
            return false;
        }
    })
});

 

komentarz 8 lutego 2021 przez ScriptyChris Mędrzec (190,190 p.)

Nie dziala wysylanie załączonego pliku

Masz na myśli dane wysłane z frontu na serwer Ajax-em? Pytam, bo w PHP widzę też kod wysyłający email.

Jeśli chodzi o Ajax, to pokaż z zakładki Network devtoolsów przeglądarki, co konkretnie zostało wysłane POST-em.

komentarz 8 lutego 2021 przez Darek757 Nowicjusz (220 p.)
edycja 9 lutego 2021 przez Darek757
wiadomosc dochodzi tylko zalaczony plik nie dochodzi, załącznik.
Cos źle zrobilem, bo nie jestem zawodowcem.

Znalazlem wpierw kody na contact form bez załącznika.

Potem znalazlem kod na sam bottom, przycisk, który dodaje załącznik

 i przypuszczam, ze jeszcze go trzeba uruchomic i wstawic dodatkowy kod.
komentarz 9 lutego 2021 przez ScriptyChris Mędrzec (190,190 p.)

wiadomosc dochodzi tylko zalaczony plik nie dochodzi, załącznik

Ok, ale czy problem dotyczy wysłania tego z przeglądarki na serwer, czy z serwera na email?

komentarz 9 lutego 2021 przez Darek757 Nowicjusz (220 p.)
poprawilem ta moja wczesniejsza wiadomosc, bo moze niezrozumiale napisalem, ale

...

mam juz to wszystko na mojej stronie i wypelniam formularz i wszystko idzie, znaczy wiadomosc dochodzi na emaila, tylko zalacznuik nie dochodzi

 

Ktos wysyla do mnie meila i wiadomosc dojdzie, ale zalacznik nie

Nie dochodzi na moja poczte, ktora wpisalem, podalem dany adres email.
komentarz 9 lutego 2021 przez Darek757 Nowicjusz (220 p.)
edycja 9 lutego 2021 przez Darek757
podalem meila nie zwiazanego z serwerem, ale tak, jak napisalem w poprawionej pierwszej wiadomosci powtorze

wpierw wgralem kod formy bez zalacznika, potem znalazlem kod na przycisk, ktory dodaje zalacznik i ...wszystko

potrzebny kod gdzie ten zalacznik wysle, oczywiscie wysle razem z wiadomoscia (wiadomosc dochodzi a załącznik nie)

1 odpowiedź

0 głosów
odpowiedź 9 lutego 2021 przez VBService Ekspert (251,170 p.)
edycja 9 lutego 2021 przez VBService

Moja propozycja poprawek  wink

Przerób kod ajax-a (contact.js), żeby wysyła też załączone pliki: Sending multipart/formdata with jQuery.ajax

Dodaj pobieranie (contact.php) załączonych plików ($_FILES): PHP File Upload$_FILES

Dodaj załączanie (contact.php) plików przysłanych z formularza do emeil-a: Send Mail With Attachments Using PHP

1
komentarz 9 lutego 2021 przez Darek757 Nowicjusz (220 p.)
Dzieki za wskazowki. Przy okazji czegos sie naucze, dam znac. Jezeli jeszcze ktos, cos to poprosze oczywiscie.
komentarz 10 lutego 2021 przez Darek757 Nowicjusz (220 p.)

@VBService,

po wielu próbach na różnych plikach w koncowym efekcie narazie zostawilem tylko dodane dodatkowo:

<body>

<form action="upload.php" method="post" enctype="multipart/form-data">
  Select image to upload:
  <input type="file" name="fileToUpload" id="fileToUpload">
  <input type="submit" value="Upload Image" name="submit">
</form>

</body>

dodalem do index.html

Co prawda mialem juz przycisk, ale dzialal tak, ze jak wysylalem wiadomosc to ten dodany zalacznik w momencie wysylania meila nie znikal. Widac bylo ze nie poszedl z wiadomoscia.

Teraz mam tak, po wstawieniu tej formy co wyzej kod zamiescilem,... to teraz jest tak ze dodale zalacznik, widac go, jego tytul i w momencie wysylania wiadomosci, tekstu tez idzie, znaczy ginie razem z meilem, tak jakby poszedl razem,,,, ale nie dociera. Wiadomosc tak, jak wczesniej bylo doszla, a zalacznik dalej nie.

Robilem tez inne podejscia dodawania kodow, na contact.php i tez na contact.js ale cos mi nie idzie te wstawianie nowym kodow. Poprosze o podpowiedz jedna przynajmniej. Moze na contact.js bo tam jest chyba trudniejsze zadanie. dzieki

komentarz 10 lutego 2021 przez Darek757 Nowicjusz (220 p.)
edycja 11 lutego 2021 przez Darek757

i jeszcze jedna rzecz wlasnie w contact.js a mianowicie

jQuery.ajax({
    url: 'php/upload.php',
    data: data,
    cache: false,
    contentType: false,
    processData: false,
    method: 'POST',
    type: 'POST', // For jQuery < 1.9
    success: function(data){
        alert(data);
    }
});

chodzi mi o ten adres url:

 url: 'php/upload.php',

...to zostaje ten? czy wpisuje cos innego? Tak myslalem, ze moze sciezke do swojego php.

To jest sciezka moja testowa danego programu i miejsca , gdzie sie zatrzymalem i dalej wlasnie zaczynaja sie schody:

http://757.ovh/111/

 

Poprosze jeszcze o nowe nakierowania, dzieki

 

tutaj sa dwa przyciski z dodawaniem zalacznika, tez szary wlasnie dziala lepiej, to ten nowo dodany

 

OK.

Powoli.

Dodałem php.ini z  file_uploads = On

potem do .php dodalem:

$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));

// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
  $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
  if($check !== false) {
    echo "File is an image - " . $check["mime"] . ".";
    $uploadOk = 1;
  } else {
    echo "File is not an image.";
    $uploadOk = 0;
  }
}

// Check if file already exists
if (file_exists($target_file)) {
  echo "Sorry, file already exists.";
  $uploadOk = 0;
}

// Check file size
if ($_FILES["fileToUpload"]["size"] > 500000) {
  echo "Sorry, your file is too large.";
  $uploadOk = 0;
}

// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
  echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
  $uploadOk = 0;
}

// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
  echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {
  if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
    echo "The file ". htmlspecialchars( basename( $_FILES["fileToUpload"]["name"])). " has been uploaded.";
  } else {
    echo "Sorry, there was an error uploading your file.";
  }
}
?>
 

 

nie bylo tam na koncu zamkniecia ?> , wiec teraz tutaj na koncu dodaje

... utworzyłem nowy katalog o nazwie uploads

...i jeszcze dodalem do .html:

<body>

<form action="upload.php" method="post" enctype="multipart/form-data">
  Select image to upload:
  <input type="file" name="fileToUpload" id="fileToUpload">
  <input type="submit" value="Upload Image" name="submit">
</form>

</body>

i na tym dzis zakoncze, poprosze o rade, czy wszystko na dobrej drodze i moze jakies wskazowki, dzieki

 

....no i na koncu sprawdzam dzialanie i wpisuje wiadomosc i dodaje zalacznik , wciskam przycisk upload image i nic sie nie dzieje, ani plik i wiadomosc tez nie idzie, nie ma komunikatu tak, jak bylo wczesniej ze zakonczone wysylanie sukcesem

 

zobaczylem skrzynke pocztowa i jednak wiadomosci przyszly tak, jak poprzednio, bez zalacznikow rowniez, takze wszystko po staremu , tylko nie ma komunikatu ze wyslano i nie znikaja po wyslaniu wiadomosc, ani zalacznik z formularza

 

 

Podobne pytania

+1 głos
0 odpowiedzi 186 wizyt
pytanie zadane 11 stycznia 2023 w PHP przez Tadeusz Kwoka Nowicjusz (170 p.)
0 głosów
1 odpowiedź 187 wizyt
pytanie zadane 11 kwietnia 2018 w JavaScript przez Rash Użytkownik (620 p.)
0 głosów
1 odpowiedź 410 wizyt
pytanie zadane 20 maja 2020 w HTML i CSS przez PanPrezes Obywatel (1,520 p.)

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...