Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Funkcja mail plus wysylanie danych z bazy danych
Forum PHP.pl > Forum > PHP
cameloos
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
LBO
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. ?>
TomASS
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. ?>
jezoo
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
cameloos
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
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.