Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]Pętla w mail, coś nie tak
Wykrywacz
post
Post #1





Grupa: Zarejestrowani
Postów: 726
Pomógł: 20
Dołączył: 8.12.2005
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Mam do was pytanie co jest nie tak w tej pętli
znaczy się jeżeli w formularzu wcześniej pole email jest wypełnione to wszystko idzie
jeżeli nie to wywala błąd
Pętla wygląda tak
  1. <?php
  2.  if ($email = ''){
  3. $mail->AddAddress('xx@xx.pl');
  4. $mail->AddAddress('jyy@yy.pl');
  5. $mail->AddAddress('zzl@zze.pl');
  6.  }
  7.  else {
  8.  $mail->AddAddress('xx@xx.pl');
  9. $mail->AddAddress('jyy@yy.pl');
  10. $mail->AddAddress('zzl@zze.pl');
  11. $mail->AddAddress("$email"); }
  12. ?>
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




a czy nie powinno byc:
if ($email == ''){
?
a najlepiej juz:
if ($_POST['email'] == ''){
(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Wykrywacz
post
Post #3





Grupa: Zarejestrowani
Postów: 726
Pomógł: 20
Dołączył: 8.12.2005
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Dalej mi nie chodzi

  1. <?php
  2. if ($_POST['email'] == ''){
  3. $mail->AddAddress('wxx@z.pl');
  4.  // $mail->AddAddress('jyy@z.pl');
  5.  // $mail->AddAddress('zz@z.pl');
  6.  }
  7.  else
  8.  $mail->AddAddress('xx@xz.pl');
  9.  // $mail->AddAddress('jz@xz.pl');
  10.  // $mail->AddAddress('xz@xz.pl');
  11. $mail->AddAddress("$email");
  12. ?>


spójż proszę.
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




  1. <?php
  2.  
  3. if ($_POST['email'] == ''){
  4. $mail->AddAddress('wxx@z.pl');
  5.  // $mail->AddAddress('jyy@z.pl');
  6.  // $mail->AddAddress('zz@z.pl');
  7.  }
  8.  else {
  9.  $mail->AddAddress('xx@xz.pl');
  10.  // $mail->AddAddress('jz@xz.pl');
  11.  // $mail->AddAddress('xz@xz.pl');
  12. $mail->AddAddress("$email");}
  13.  
  14. ?>

zjadles {} po else
Go to the top of the page
+Quote Post
Wykrywacz
post
Post #5





Grupa: Zarejestrowani
Postów: 726
Pomógł: 20
Dołączył: 8.12.2005
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Zjadłem już wszystko działa.

A mam jeszcze jedno.
Kolejno
1.Wypełnia się raport
2.Dane lecą do DB.
3.Zostaje wysłany mail.

jak zrobić żeby wyciągało aktolanie wsadzony Id pola (między 2. a 3.) i zwróciło gołanczając do maila. Tak aby potem można było zidentyfikować maila, z tym co sobie wyciągne w panelu administracyjnym.

Db ma autonumerowanie na polu ID.

// chodzi jak zrobić żeby wyciągał ID aktualnie dodanego rekord do db.

Ten post edytował Wykrywacz 28.03.2006, 15:50:15
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




http://forum.php.pl/index.php?showtopic=30312&hl=ostatnie+id
Go to the top of the page
+Quote Post
Wykrywacz
post
Post #7





Grupa: Zarejestrowani
Postów: 726
Pomógł: 20
Dołączył: 8.12.2005
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Możecie zobaczyć co jest źle w tym zapytaniu?

  1. <?php
  2. $i = mysql_query("select max(id) from raporty");
  3.  
  4. while ($row = mysql_fetch_array($i, MYSQL_ASSOC)) {
  5.  $id = ($row["id"]);
  6.  }
  7. ?>


Efekt jest że mi nic nie wyświetla (nazwa tablicy jest dobra (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) )
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




  1. <?php
  2. while ($row = mysql_fetch_array($i, MYSQL_ASSOC)) {
  3.  print_r($row);
  4.  }
  5. ?>
a bedziesz wiedzial czemu nic ci nie wyswietla (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Wykrywacz
post
Post #9





Grupa: Zarejestrowani
Postów: 726
Pomógł: 20
Dołączył: 8.12.2005
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


No wywalił mi
Kod
Array ( [max(id)] => 51 )


Czyli jednak kuma. Jak na moj gust.
Ake jak podłacze to pod zmienną $id to wyświetla w najlepszym wypadku samo
Kod
Array
Go to the top of the page
+Quote Post
kszychu
post
Post #10





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

Ostrzeżenie: (0%)
-----


  1. SELECT max(id) AS id
  2. FROM raporty
Go to the top of the page
+Quote Post
Wykrywacz
post
Post #11





Grupa: Zarejestrowani
Postów: 726
Pomógł: 20
Dołączył: 8.12.2005
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Mam jeszcze tylko małe pytanie:
Mam:
  1. <?php
  2. $result = mysql_query("SELECT * FROM raporty")
  3.  echo '<form action="miel.php" method="post"> ' ;
  4.  
  5. echo '<table border="1">';
  6. while ($row = mysql_fetch_array($result)){
  7. echo '<tr>';
  8. echo '<td>'.$row["id"].'</td>', '<td>'.$row["nazwisko"].'</td>','<td>'.$row["dzial"].'</td>','<td>'.$row["data_od"].'</td>', '<td>'.$row["data_do"].'</td>'
  9.  ,'<td>'.$row["ws"].'<td>', '<td>'.$row["wc"].'<td>', '<td>'.$row["ips"].'<td>','<td>'.$row["bindan"].'<td>', '<td>'.$row["wss"].'<td>', '<td>'.$row["wsi"].'<td>'
  10.  ,'<td>'.$row["park"].'<td>', '<td>'.$row["wt_t"].'<td>','<td>'.$row["szy"].'<td>','<td>'.$row["klient"].'<td>', '<td>'.$row["tymcz"].'<td>', '<td>'.$row["wsi"].'<td>','<td>'.$row["kodex"].'<td>','<td>'.$row["time"].'<td>',
  11.  '<td>'.$row["wykonywany"].'<td>','<td>'.$row["zrobiony"].'</td>';
  12.  
  13.  
  14. echo '<td><SELECT NAME="wyk">
  15.  <OPTION>
  16.  <OPTION>Asia
  17.  <OPTION>Marek
  18. <OPTION>Wojtek
  19.  
  20. </SELECT></td>';
  21. echo '<td><SELECT NAME="zrob">
  22.  <OPTION>
  23.  <OPTION>Asia
  24.  <OPTION>Marek
  25. <OPTION>Wojtek
  26. </SELECT></td>';
  27. echo '</tr>';
  28. }
  29. echo '</table>';
  30. echo '<INPUT TYPE="submit" VALUE="Modyfikuj">' ;
  31.  echo '</FORM>';
  32. ?>


Teraz w czym problem, przez te dwa folmularzowe pola, chce wprowadzać do DB wartości. Niestety tworzy to nowe wpisy a nie dodaje do już istniejących , skrypt mielacy wygląda tak:
  1. <?php
  2. $wyk=$HTTP_POST_VARS['wyk'];
  3. $zrob=$HTTP_POST_VARS['zrob'];
  4.  
  5. $username = "xxx";
  6. $password = "xxx";
  7. $hostname = "xxx";
  8. $dbh = mysql_connect($hostname, $username, $password)
  9.  
  10. mysql_select_db('tetatech')
  11.  
  12. $zapytanie = mysql_query("insert into raporty (wykonywany,zrobiony)
  13. values ('$wyk','$zrob')")
  14. ?>
Go to the top of the page
+Quote Post
nospor
post
Post #12





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




ciekawe dlaczego... moze dlatego, ze do modyfikacji sluzy update a nie insert?
Go to the top of the page
+Quote Post
Wykrywacz
post
Post #13





Grupa: Zarejestrowani
Postów: 726
Pomógł: 20
Dołączył: 8.12.2005
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Zmieniłem to na
  1. <?php
  2.  
  3. $wyk=$HTTP_POST_VARS['wyk'];
  4. $zrob=$HTTP_POST_VARS['zrob'];
  5.  
  6. $username = "xx";
  7. $password = "txx";
  8. $hostname = "xhost";
  9. $dbh = mysql_connect($hostname, $username, $password)
  10.  
  11.  
  12. $zapytanie = mysql_query("update into raporty (wykonywany)
  13. values ("$wyk")")
  14.  
  15. $zapytanie2 = mysql_query("update into raporty (zrobiony)
  16. values ($zrob)")
  17. ?>

nie pokazuje błędów, ale jak próbuje zobaczyć czy dobrze wpisało to okazuje się
że
  1. <?php
  2. <td>'.$row["wykonywany"].'<td>','<td>'.$row["zrobiony"].'</td>';
  3. ?>

Nic tam niema (niemam fizycznego dostępu do mysql'a tylko przez php'a)
Go to the top of the page
+Quote Post
DawidF
post
Post #14





Grupa: Zablokowani
Postów: 120
Pomógł: 2
Dołączył: 4.11.2004

Ostrzeżenie: (10%)
X----


Proponuję poczytać o poleceniu UPDATE w manualu

Nie ma tam nic takiego, jak UPDATE INTO...
Go to the top of the page
+Quote Post
Wykrywacz
post
Post #15





Grupa: Zarejestrowani
Postów: 726
Pomógł: 20
Dołączył: 8.12.2005
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Dobra to mam dobrze, mam teraz pytanie budowa updata to:
  1. <?php
  2.  
  3. $zapytanie = mysql_query("update raporty set wykonywany=('$wyk') where id=('$id')")
  4. ?>


Jak zrobić żeby odnosił się do odpowiedniejgo ID. używając powiedzmy tego
  1. <?php
  2. $id
  3. ?>
Go to the top of the page
+Quote Post
mike
post
Post #16





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


~Wykrywacz stąpasz po cienkiej linii lenistwa i niechęci do manuala. Jeszcze jedno takie pytanie to Ci wlepię ostrzeżenie za to.
Dostałeś linka. Widziałeś w składni jakieś nawiasy? Ja nie.

A to Ci pomoże wstawić $id: Łańcuchy znaków (string)
Go to the top of the page
+Quote Post
Wykrywacz
post
Post #17





Grupa: Zarejestrowani
Postów: 726
Pomógł: 20
Dołączył: 8.12.2005
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Przepraszam.

Ostatnie pytanie:
Do wprowadzania mam 2 formularze, przez które robie update'a. Niestety wogóle mi nic nie przesyłają:
  1. <?php
  2.  echo '<form action="miel.php" method="post">' ;
  3. ?>

  1. <?php
  2. echo '<td> <INPUT TYPE="text" NAME="wyk" size="5"><INPUT TYPE="submit" VALUE="Modyfikuj" size="7"></INPUT></td>' ;
  3. echo '<td> <INPUT TYPE="text" NAME="zrob" size="5"><INPUT TYPE="submit" VALUE="Modyfikuj"></td>'; echo '</FORM>';
  4. ?>

miel.php
  1. <?php
  2.  
  3. $wyk=$HTTP_POST_VARS['wyk'];
  4. $zrob=$HTTP_POST_VARS['zrob'];
  5. $id=$HTTP_POST_VARS['id'];
  6.  
  7. $username = "xx";
  8. $password = "xx";
  9. $hostname = "lx";
  10. $dbh = mysql_connect($hostname, $username, $password)
  11.  
  12. mysql_select_db('tetatech')
  13.  
  14. $zapytanie = mysql_query("update raporty set wykonywany='$wyk' where id=3")
  15.  
  16. /*$zapytanie2 = mysql_query("update raporty set zrobiony='$zrob'where id=$id")
  17. or die(mysql_error());*/ drugi narazie pomijam
  18. ?>


Stringi wedle tego co pisze w manualu i mojej książce są dobrze. Teoretycznie przez formularz powinny iść dane. idą puste. Jeżeli
  1. <?php
  2. '$wyk'
  3. ?>
zamienie powiedzmy na
  1. <?php
  2. 'Wojtek'
  3. ?>
to wsadza bez problemów.
Go to the top of the page
+Quote Post
nospor
post
Post #18





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




moze zamiast $HTTP_POST_VARS uzyj $_POST

edit: ta sprawa rozwiązana. Wykrywacz w petli ciągle generowal </form> (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 21:29