Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Skrypt Pomoc
Forum PHP.pl > Forum > Przedszkole
lukaszk8807
Witam,

Mam skrypt, wszystko w nim dziala, wysylanie na poczte poprawne tylko jest jeden maly blad.

Mianowicie mam w nazwie aparatu do wyboru kilka jesli wcisne ctrl +LMB Gdy tak zrobie i wysle formularz dochodzi mi tylko jedna zaznaczona pozycja a powinno np 2 czy wiecej w zaleznosci ile zaznaczylem.

Prosze o jakies rady



SKRYPT

<?php

$polityka = $_POST['polityka'];
$imie = $_POST['imie'];
$nazwisko = $_POST['nazwisko'];java script:bbc_pop()
$email = $_POST['email'];
$wiadomosc = $_POST['wiadomosc'];
if($_POST['select'])
$aparat = $_POST['select'];
else
$aparat = 'niezaznaczony';



$parts = explode("@", $email);
if(count($parts) != 2)
{
echo('Bledny adres email');
return;
}
$d_parts = explode('.', $parts[1]);
if(count($d_parts) < 2)
{
echo('Bledny adres email');
return;
}

$reply_subject = 'Potwierdzenie wyslania wiadomosci';
$reply_body = 'Dziekujemy za kontakt!';
$reply_email = 'automatyczna@odpowiedz.pl';


$to = "adres@o2.pl";
$from = $imie . " " . $nazwisko . " <" . $email . ">";
$subject = "Wiadomosc z formularza";
$body = "\nAparat: " . $aparat . "\n\nWiek: " . $wiek . "\n\nWiadomosc:\n\n" . $wiadomosc;
$coding = "Content-Type: text/plain; charset=utf-8 \nContent-Transfer-Encoding: 8bit";

if (mail($to, $subject, $body, "From: " . $from . "\n" . $coding))
{
// potwierdzenie nadawcy
if(mail($email, $reply_subject, $reply_body, "From: " . $reply_email . "\n" . $coding))
{
echo("<p>Wiadomosc wyslana!</p>");
}
else
{
echo('<p>Blad podczas wysylania potwierdzenia</p>');
}
}
else
{
echo("<p>Blad podczas wysylania wiadomosci</p>");
}
}

?>
Spawnm
Popraw tytuł na jakiś sensowny , używaj bbcode.
bemol
sprawdz czy w formularzu dałeś tablice. np. name="select[]" i pamiętaj, że selectem przesyła się tylko jedną opcję, chyba, że: patrz post niżej tongue.gif
lukaszk8807
nie widzi mi tego php

w html mam dobrze tylko wstawiam

$imie = $_POST['imie'];
$nazwisko = $_POST['nazwisko'];java script:bbc_pop()
$email = $_POST['email'];
$wiadomosc = $_POST['wiadomosc'];



if ($aparat){
foreach ($aparat as $t)
}

jest nie tak jak powinno
czy nalezy tez dopisac cos takze tutaj:
$body = "\nAparat: " . $aparat . "\n\nWiek: " . $wiek . "\n\nWiadomosc:\n\n" . $wiadomosc;?questionmark.gifquestionmark.gif?
bemol
nie wiem czy dobrze rozumiem. dochodzi jeden? czy na pewno? bo jeśli dochodzi jeden to znaczy ze html jest źle, jeśli dochodzi więcej to musisz to puścić przez pętle.

  1. <?php
  2. $ile = count($aparat);
  3. for ($i=0;$i<$ile;$i++) {
  4. echo $aparat[$i];
  5. }
  6. ?>
lukaszk8807
Cytat(bemol @ 5.07.2009, 12:04:50 ) *
nie wiem czy dobrze rozumiem. dochodzi jeden? czy na pewno? bo jeśli dochodzi jeden to znaczy ze html jest źle, jeśli dochodzi więcej to musisz to puścić przez pętle.

  1. <?php
  2. $ile = count($aparat);
  3. for ($i=0;$i<$ile;$i++) {
  4. echo $aparat[$i];
  5. }
  6. ?>

//
HTML:
<td width="283"><select name="aparat[]" size="4" multiple="multiple">
<option value="canon">canon</option>
<option value="sony">sony</option>
<option value="nikon">nikon</option>
<option value="panasonic">panasonic</option>
</select></td>

wybor moze byc np dwoch aparatow jednoczesnie z wcisnietym ctrl i na maila ma mi zwrocic wybrane 2,3 czy 4 a nie 1
bemol
To w takim razie jeśli chcesz mieć ciąg znaków, to zrób w ten sposób, że
  1. <?php
  2. $cos = '';
  3. foreach ($aparat as $ciag) {
  4. $cos .= $ciag.', ';
  5. }
  6. ?>


i w ten sposób otrzymasz np:

"sony, panasonic"
Spawnm
Prosiłem o używanie bbcode i poprawienie tytułu , gdyż ten nic nie mówi , każdy na tym forum ma jakiś problem z skryptem.
Zamykam, wszelkie propozycje proszę na priv .
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.