Hirdetés

Keresés

Új hozzászólás Aktív témák

  • adam_

    senior tag

    válasz DNReNTi #17132 üzenetére

    Sziasztok! Ma volt időm foglalkozni újfent a kontaktformommalk, a PHP-val való elküldésével. JSFiddleben bemásoltam a html form kódját, és a php kódokat is.. http://jsfiddle.net/azxatboa/

    Egy tutorial alapján létrehoztam egy security.php , ezenkívül mivel az egész oldal, ergo '1 oldalon van - onepagedesign', ezért az index.php elejére és a végére is illesztettem be erre vonatkozó PHP kódrészleteket, valamint külön létrehoztam contact.php fájlt is, amibe a validálás is benne van, és integrálva van a PHPMailer funkciónalitása. Ezeket mind mellékelem a JSFiddle példában.

    Validálás működik, viszont különböző SMTP-vel (privátommal, és fake-kel) is kipróbáltam, viszont mindig amikor a küldésre nyomok, tölt, és a végén "Sorry, could not send email. Try again later";". Ebből gondolom, hogy valahol a hiba a PHPMailer részen belül van, mivel nem a legszélső else ágban található error msg-t kapom vissza, miszerint "Something went wrong".

    Valamint egy kis apróság még. A $m - > Subject = 'Contact'; helyett hogyan tudnám belőni, hogy a betreff, etc. tárgy mezőt küldje el mailben, a sima 'Contact' felirat helyett? De ez tényleg apróság, elsőnek jó lenne, ha működne a küldés első körben.

    Kérlek megnéznétek, hogy hol lehet a hiba, miszerint a validálás után miért nem küldi el a formulárt a címre?

    Nagyon szépen köszönöm,

    Ádám

  • Sk8erPeter

    nagyúr

    válasz DNReNTi #17132 üzenetére

    "3. Kijavítanám Brian-t a hibajelzésekkel kapcsolatban:
    Helyesen: ini_set('display_errors', '1');"

    Mielőtt "javítasz" valamit, nem árt, ha meggyőződsz róla, hogy az eredeti információ valóban helytelen-e, vagy csak Te nem vágod, a másik miről beszél. :K
    Amit írtam, az pont úgy helyes. Amit Te írtál, az értelemszerűen PHP-fájlban fog csak működni (egyébként az is helyes), a php.ini-be hiába írod bele... ;] Én meg a php.ini módosításáról beszéltem, ha kicsit visszaolvasol.
    Amit írtál, az minden alkalommal, amikor egy adott fájl (amiben a sorod szerepel) betöltésre kerül (már ha betöltődik egyáltalán), meg fog hívódni, nem egy globális beállítás, ami mindenhol érvényes (az összes PHP-kódra vonatkozóan a fejlesztői gépen).

    Tehát még egyszer: a php.ini konfigurációs fájlba mehetnek ezek a sorok:

    PHP 5.4.0 fölötti változatoknál:
    error_reporting=E_ALL
    display_errors=On

    PHP 5.4.0-nál régebbi esetén*:
    error_reporting=E_ALL|E_STRICT
    display_errors=On

    * magyarázat: http://php.net/manual/en/errorfunc.configuration.php#ini.error-reporting
    "In PHP 5 a new error level E_STRICT is available. Prior to PHP 5.4.0 E_STRICT was not included within E_ALL, so you would have to explicitly enable this kind of error level in PHP < 5.4.0. Enabling E_STRICT during development has some benefits. STRICT messages provide suggestions that can help ensure the best interoperability and forward compatibility of your code. These messages may include things such as calling non-static methods statically, defining properties in a compatible class definition while defined in a used trait, and prior to PHP 5.3 some deprecated features would issue E_STRICT errors such as assigning objects by reference upon instantiation."

    Egyébként nekem nem tűnt úgy, hogy le kell neki egyszerűsíteni az infót, nekem úgy jött le, hogy értette ő. :) Csak még utána kell néznie alapvető dolgoknak is.

Új hozzászólás Aktív témák