Formularz - sposóby na stworzenie

Odpowiedz Nowy wątek
2017-12-06 15:27
0

1)Witam, robię właśnie stronkę z wykorzystaniem JS, Bootstrap, HTML i CSS no ale nagle pojawiła się potrzeba zrobienia działającego formularza. Moja pierwsza myśl coś w PHP-ie znam słabo ale prosty skrypt każdy wykorzysta wedle przepisu. A więc znalazłem coś co powinno działać, wrzuciłem stronę na serwer a tu zonk - nie widzę tych meili albo jestem głupi.

<?php
$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$message = $_POST['message'];
 
$odkogo = "[email protected]";
$dokogo = "[email protected]";
 
$tytul = "Formularz kontaktowy z 79level.pl";
 
$naglowek = "";
$naglowek .= "Od:" . $odkogo . " \n";
$naglowek .= "Content-Type:text/plain;charset=utf-8";
 
$wiadomosc = "";
$wiadomosc .= "Imie i nazwisko: " . $name . "\n";
$wiadomosc .= "Email: " . $email . "\n";
$wiadomosc .= "Numer telefonu: " . $phone . "\n";
$wiadomosc .= "Wiadomość: " . $message . "\n";
 
$sukces = mail($dokogo, $tytul, $wiadomosc, $naglowek);
if ($sukces){
  print "<meta http-equiv=\"refresh\" content=\"0;URL=potwierdzenie.php\">";
}
else{
  print "<meta http-equiv=\"refresh\" content=\"0;URL=error.html\">";
}
?>
<form class="form" action="../../php/form.php" method="post" id="my_form">
   <div class="form-group">
         <label for="nameField">Imię i Nazwisko</label>
         <input type="text" class="form-control" id="nameField" name="name" placeholder="Twoje imię i nazwisko" />
   </div>
 
     <div class="form-group">
          <label for="emailField">E-mail</label>
          <input type="email" class="form-control" id="emailField" name="email" placeholder="Twój adres e-mail" />
     </div>
 
     <div class="form-group">
           <label for="phoneField">Telefon</label>
           <input type="text" class="form-control" id="phoneField" name="phone" placeholder="Twój numer telefonu" />
      </div>
 
       <div class="form-group">
             <label for="descField">Opis</label>
             <textarea type="text" class="form-control" id="descField" name="message" placeholder="Twoje uwagi"></textarea>
       </div>
 
        <button type="submit" name="submit" class="btn btn-primary">Wyślij</button>
        <button type="reset" class="btn btn-default">Wyczyść</button>
</form>

Zrobienie formularza powinno być proste jak budowa cepa; ale coś nie mogę tej kwestii ogarnąć. Może dlatego, że nigdy nie robiłem jego obsługi.

2) Czy da się przy pomocy technologii spod znaku JS zrobić obsługę formularza? Mi się wydaje, że tak ale nie wiem czego szukać konkretnie. Nie chodzi mi o walidację tylko o puszczanie meili.

3) Czy mogę puszczać meile z localhost-a ? Czy tylko z prawdziwego serwera?


Sukces jest progresywną realizacją wartościowej idei w ramach cierpliwego wymiaru czasu.
edytowany 1x, ostatnio: Pangeon, 2017-12-06 15:30

Pozostało 580 znaków

2017-12-06 16:05
0

W najbardziej cepowatym przypadku spróbuj najpierw rozdzielić trochę front od backendu, choćby i tak:

<?php include("header.php"); ?>
 
/* docelowa treść strony */
 
<?php include("footer.php"); ?>

Dzięki temu zrobisz prostą strukturę strony.
Potem wrzuć sobie pliki w których będziesz obrabiał dane (np. do folderu /actions) i odwołuj się do nich w formularzu

<form action="/actions/myaction.php">

i w pliku myaction.php obrabiaj dane. Nie pakuj wszystkiego do jednego pliku

Pozostało 580 znaków

2017-12-07 10:40
0

Nie wiem czy to wyczerpuje temat, nadal nie wiem czemu ten skrypt nie działa. Zgadza się strona powinna być rozparcelowana na sekcje ale z powodu pewnych ograniczeń tego nie zrobiłem.


Sukces jest progresywną realizacją wartościowej idei w ramach cierpliwego wymiaru czasu.
edytowany 1x, ostatnio: Pangeon, 2017-12-07 10:40

Pozostało 580 znaków

2017-12-07 10:43
0

nie widzę tych meili albo jestem głupi.

A te maile to puszczasz z locala czy z hostingu?

Pozostało 580 znaków

2017-12-07 10:46

ja juz kiedyś dodawałem sznurki do formularzy:
Skrypty do PHP


Wystarczy jeden prosty skrypt, na moje potrzeby nie ma sensu pobierać całej biblioteki. No ale dziękuje :) - Pangeon 2017-12-07 10:54
pewnie nawet nie zajrzałeś dokładnie, tam są gotowe formularze do wklejenia w bootstrap... - czysteskarpety 2017-12-07 11:00

Pozostało 580 znaków

2017-12-07 10:49
0

Puszczam z webd.pl i wiem tyle:
1) jest prawdopodobieństwo że może nie działać, choć to serwer płatny meil()
2) meile mogą dochodzić z opóźnieniem
3) z localhosta nie działa

czy się mylę ?


Sukces jest progresywną realizacją wartościowej idei w ramach cierpliwego wymiaru czasu.

Pozostało 580 znaków

2017-12-07 11:06
0

To najpierw musisz puścić funkcją mail() zwykłego maila na sztywno, nawet w twoim index.php. Jak dojdzie, tzn, że działa. Więc szukać dalej problemu w Twoim skypcie. Jak nie dojdzie, to jest coś prawdopodobnie po stronie hostingu (zakładając, że wywołanie funckji będzie poprawne)

A najlepiej jakąś biblioteką się zainteresować do mailingu, ale to tak na przyszłość

edytowany 1x, ostatnio: hapertown, 2017-12-07 11:06

Pozostało 580 znaków

2017-12-07 13:57
0
<?php
$name = $_POST['name'];
meil('[email protected]', 'Blank e-mail', $name);
?>
<!DOCTYPE html>
<html lang="pl">
 
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
 
<body>
    <form method="post" action="meil.php" role="form">
        <label>Firstname *</label>
        <input id="name" type="text" name="name" />
        <input id="guzik" type="submit" name="submit" />
    </form>
</body>
 
</html>

Czy coś takiego powinno działać?


Sukces jest progresywną realizacją wartościowej idei w ramach cierpliwego wymiaru czasu.

Pozostało 580 znaków

2017-12-07 15:34
0

Tak, jak zmienisz nazwę funkcji z meil na mail. Docelowo najpierw puść pustego maila na sztywno

mail('[email protected]', 'Blank e-mail', $name);

i zobaczysz czy maile w ogóle dochodzą. Potem kombinuj z formularzem

Frustracja mnie bierze, proste zadanie przerasta... :( - Pangeon 2017-12-07 20:54

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0