Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Funkcja mail plus wysylanie danych z bazy danych
cameloos
post 25.04.2006, 02:24:06
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 8.11.2005

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


Witam.

Mam takie oto dwa pliczki:

formularz.php
  1. <?php
  2. Przypominacz hasla:<br><br>
  3. <form action="mail.php" method="post"><br>
  4. Podaj swoj login<br>
  5. login: <input type="textbox" name="login"><br>
  6. <input type="submit" value="wyslij">
  7. ?>

oraz<br>
mail.php
  1. <?
  2. require_once ("funkcje.php");
  3. $polaczenie= pol_mysql();
  4. $wynik = mysql_query("select uzyt_login, uzyt_haslo, uzyt_emial from uzytkownicy where uzyt_login
    ='$login'"
    );
  5.  
  6. $haslo=='uzyt_haslo';
  7. $email=='uzyt_email';
  8.  
  9. mail($email, $haslo, $login);
  10. ?>
  11. Wyslano

Czy takie dziwactwo ma prawo dzialac? Bo poki co, nie dotarl do mnie zaden emial na adres przyporządkowany ktoremukolwiek z loginow, znajdujacych sie w bazie danych sad.gif Funkcje łączenia z bazą danych są oczywiście zdefiniowane w pliku funkcje.php
Go to the top of the page
+Quote Post
LBO
post 25.04.2006, 05:49:03
Post #2





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


Cytat
Czy takie dziwactwo ma prawo dzialac?

nie biggrin.gif
  1. <?php //uzywaj zawsze tych tagów php, nie samego <?
  2. require_once ("funkcje.php");
  3. $login = $_POST['login'];
  4. $polaczenie= pol_mysql();
  5. $wynik = mysql_query("select uzyt_login, uzyt_haslo, uzyt_emial from uzytkownicy where uzyt_login
    ='$login'"
    );
  6. $uzytkownik = mysql_fetch_array($wynik, MYSQL_ASSOC);
  7. $haslo==$uzytkownik['uzyt_haslo'];
  8. $email==$uzytkownik['uzyt_email'];
  9.  
  10. mail($email, $haslo, $login);
  11. ?>


Ten post edytował LBO 25.04.2006, 05:49:20
Go to the top of the page
+Quote Post
TomASS
post 25.04.2006, 09:28:09
Post #3





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

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


Cytat
<?php //uzywaj zawsze tych tagów php, nie samego <?

Cytat
A php scripting block always starts with <?php and ends with ?>. A php scripting block can be placed anywhere in the document.

On servers with shorthand shorthand support enabled you can start a scripting block with <? and end with ?>.

However, for maximum compatibility, we recommend that you use the standard form (<?php) rather than the shorthand form.

Czyli <? też jest niby zgodne ze standardem (tak jak kiedyś <% tongue.gif ) to wszystko zależy od dyrektyw:
Cytat
short_open_tag = On
asp_tags = Off

w pliku php.ini.

  1. <?php
  2. $login = $_POST['login'];
  3. $wynik = mysql_query("select uzyt_login, uzyt_haslo, uzyt_emial from uzytkownicy where uzyt_login
    ='$login'"
    );
  4.  
  5. ?>

A jak login będzie miał wartość jakis_login' OR 1 ?
Lepiej daj:
  1. <?php
  2. $login = mysql_escape_string($_POST['login']);
  3. ?>


  1. <?php
  2. $haslo==$uzytkownik['uzyt_haslo'];
  3. $email==$uzytkownik['uzyt_email'];
  4. ?>

A nie powinno być raczej:
  1. <?php
  2. $haslo=$uzytkownik['uzyt_haslo'];
  3. $email=$uzytkownik['uzyt_email'];
  4. ?>


--------------------
Go to the top of the page
+Quote Post
jezoo
post 25.04.2006, 09:40:58
Post #4





Grupa: Zarejestrowani
Postów: 92
Pomógł: 3
Dołączył: 4.04.2006

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


tutaj masz cala funkcje wysylania maila:

http://forum.php.pl/index.php?showtopic=45828#

smiga az milo smile.gif

wystarczy troszke poszukac i znajdzie sie wszystko, no prawie wszystko winksmiley.jpg
Go to the top of the page
+Quote Post
cameloos
post 25.04.2006, 09:48:53
Post #5





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 8.11.2005

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


Poprawiłem kod według Waszych zaleceń.
Wygląda on teraz tak:

mail.php
  1. <?
  2. require_once ("funkcje.php");
  3. $login = mysql_escape_string($_POST['login']);
  4. $polaczenie= pol_mysql();
  5. $wynik = mysql_query("select uzyt_login, uzyt_haslo, uzyt_emial from uzytkownicy where uzyt_login
    ='$login'"
    );
  6. $haslo=$uzytkownik['uzyt_haslo'];
  7. $email=$uzytkownik['uzyt_email'];
  8.  
  9. mail($email, $haslo, $login);
  10. ?>
  11. Wyslano


Fragment:
  1. <?php
  2. $uzytkownik = mysql_fetch_array($wynik, MYSQL_ASSOC);
  3. ?>

mam zdefiniowany chyba w tym miejscu, w pliku funkcje.php :
  1. <?php
  2.  
  3. function wynik_db_do_tablicy($wynik)
  4. {
  5. $tablica_wyn=array();
  6.  
  7. for($licznik=0; $rzad=@mysql_fetch_array($wynik); $licznik++)
  8. $tablica_wyn[$licznik]=$rzad;
  9.  
  10. return $tablica_wyn;
  11. }
  12.  
  13. ?>


Dlatego pominąłem tę funkcję w mail.php

Mimo wszystko, nadal nie otrzymuję żadnych maili... sadsmiley02.gif
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 08:12