Kezdőoldal » Számítástechnika » Weblapkészítés » Szeretnék egy üzenetküldő...

Szeretnék egy üzenetküldő ürlapot készíteni. HTML és PHP. Valaki tud segíteni?

Figyelt kérdés
A küldés gombra kattintva a kapcs.php jön be és nem küldi el az üzenetet. Hol a hiba?
2015. márc. 30. 21:29
 1/5 A kérdező kommentje:

<html>

<head>

<title>

</title>

<link href="kapcs.css" rel="stylesheet" type="text/css"> </link>

</head>

<form id="form" name="form" method="post" action="kapcs.php">

<body>

<label>

Név: <input type="text" name="nev" id="nev" />

</label>

<p>


<label>

E-mail: <input type="text" name="email" id="email" />

</label>

</p>

<p>

<label>

Telefonszám: <input type="text" name="tel" id="tel" />

</label>

</p>


<p>

<label>

Üzenet szövege: <textarea name="uzenet" id="uzenet" cols="45" rows="5"></textarea>

</label>

</p>

<p>

<label>

<input type="submit" name="mehet" id="mehet" value="mehet" />


</label>

</p>

</form>


</body>

</html>

2015. márc. 30. 21:30
 2/5 A kérdező kommentje:

<?php

if(isset($_POST['submit'])) {


if(empty($_POST['nev'])) {

$hiba[] = "Nem adott meg nevet.";

}

if(empty($_POST['uzenet'])) {

$hiba[] = "Nem adott meg üzenetet.";

}

if ((empty($_POST['email'])) or (!preg_match ('/^([a-z0-9])(([-a-z0-9._])*([a-z0-9]))*\@([a-z0-9])' .

'(([a-z0-9-])*([a-z0-9]))+' . '(\.([a-z0-9])([-a-z0-9_-])?([a-z0-9])+)+$/i', $_POST["email"] ))) {

$hiba[] = "Nem adott meg e-mail címet, vagy rosszul adta meg.";

}


if(!isset($hiba)) {

$nev = $_POST['nev'];

$email = $_POST['email'];

$tel = $_POST['tel'];

$uzenet = $_POST['uzenet'];

$date = date("Y. m. d. H:i:s");

$ujsor = "\r\n";

$uzenet = "neve: $nev" . $ujsor;

$uzenet .= "e-mail címe: $email" . $ujsor;

$uzenet .= "telefon: $tel" . $ujsor;

$uzenet .= "üzenet: $uzenet" . $ujsor;

mail("deejay.hexy@gmail.com","weblap e-mail", $uzenet, "From: $email");

echo "<p>Üzenet elküldve</p>";

}


}


if((!isset($_POST['submit'])) or (isset($hiba))) {

if(isset($hiba)) {

foreach ($hiba as $hibalista) {

echo $hibalista."<br>";

}

}

?>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">

Név: <input type="text" name="nev" value="<?php echo $_POST['nev']; ?>">*<br><br>

Telefon: <input type="text" name="tel" value="<?php echo $_POST['tel']; ?>"><br><br>

E-Mail: <input type="text" name="email" value="<?php echo $_POST['email']; ?>">*<br><br>

<textarea name="uzenet" rows="3" cols="20"><?php echo $_POST['uzenet']; ?></textarea><br><br>

<input type="submit" name="submit" value="Küldés">

</form>

<?php

}

?>

2015. márc. 30. 21:30
 3/5 anonim ***** válasza:

[link]


[link]


[link]



Olvasgass.

2015. márc. 30. 21:38
Hasznos számodra ez a válasz?
 4/5 anonim ***** válasza:

HTML-problémák:

1. Nincs Doctype

2. Ajánlatos lenne definiálni a karakterkódolást.

3. A <title> elem nyitó és záró tagja közé tartalom kell

4. A <link> elem üres, nem kell lezárni.

5. <body> és <form> tagek felcserélve


Tehát kb így:

[link]

2015. márc. 30. 21:57
Hasznos számodra ez a válasz?
 5/5 anonim ***** válasza:

PHP-problémák - gyorsan, zanzásítva:

1. A szkript elejére:

$hiba = array();

hogy inicializáld a tömböt.


2. Az

if(isset($_POST['submit']))

helyett

if(isset($_POST["mehet"]))

ugyanis az űrlap "name" attribútumában "mehet" szerepel.


3. E-mail ellenőrzésre a ronda reguláris kifejezés helyett van modernebb megoldás:

if (empty($_POST["email"]) || filter_var($_POST["email"], FILTER_VALIDATE_EMAIL) == false)

bővebben:

[link]


4. Használj Captchát. Egyrészt a CSRF elkerülése végett ( [link] ), másrészt a bot-ok támadása ellen.


5. Az

if(!isset($hiba))

helyett inkább

if (count($hiba) == 0)

ugyanis azt akarjuk ellenőrizni, hogy van-e hiba a $hiba tömbben.


És ennek a feltételnek az else ágába tenném a hibák kiírását.


6. És ezt ez egész hóbelevancot összevonnám az előbbi űrlappal (ez esetben a <form> tag action attribútuma változik kapcs.php-ról).

2015. márc. 30. 23:46
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!