Avatar
Tomáš Martin Holub:1. července 11:52

Na webhostingu mám phpmailer a tam když ho chci najít píše mi to class not found , ale na localhostu to jde . Stejná chyba se i již stala s mpdo , ale to jsem upravil sám nějak sesmolil a vložil do jiného souboru .

Zkusil jsem: Zkoušel jsem hledat odpověď na stackoverflow potom i někde na českých fórech , ale nenašel jsem to co jsem hledal .

Chci docílit: Chci aby tam nebyla chyba a nevyhazovalo to chybu class not found .

 
Odpovědět 1. července 11:52
Avatar
Matěj Strnad:1. července 19:48

Jestli hosting má podporu tak jim to tam napiš :)

Nahoru Odpovědět 1. července 19:48
Ty vaše internety!
Avatar
Matěj Strnad:1. července 19:58

Nebo zkus např. toto:

<?php
$to = "[email protected]";

$subject = 'PHP mail test';
$message = 'Hello';
$headers = 'From: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
?>

Když to nebude fungovat tak sem napiš co ti to napíše :)

Editováno 1. července 19:59
Nahoru Odpovědět 1. července 19:58
Ty vaše internety!
Avatar
Odpovídá na Matěj Strnad
Tomáš Martin Holub:1. července 22:31

Ale to je funkce mail . Tahle funkce se už moc nepoužívá a e-maily už ji někdy ani nezobrazí , protože můžuš prakticky z kohokoliv účtu poslat komukoliv , jakoukoliv zprávu .

 
Nahoru Odpovědět 1. července 22:31
Avatar
Petr Čech
Redaktor
Avatar
Odpovídá na Tomáš Martin Holub
Petr Čech:1. července 22:37

To není úplně pravda, mail() je spíš neohrabaná než zastaralá. Kdybys poslal mail se správnými hlavičkami, nebude s tím mít žádný klient problém.

Nahoru Odpovědět  +1 1. července 22:37
the cake is a lie
Avatar
Petr Čech
Redaktor
Avatar
Odpovídá na Tomáš Martin Holub
Petr Čech:1. července 22:39

Class not found znamená, že není načtený ten soubor s třídou. Jakým způsobem máš ten phpmailer nainstalovaný? Přes composer? Prostě sis stáhl zip?
Jaký máš autoloader?

Nahoru Odpovědět  +1 1. července 22:39
the cake is a lie
Avatar
Odpovídá na Petr Čech
Tomáš Martin Holub:1. července 22:40

Mám složku a v ní phpmailer

 
Nahoru Odpovědět 1. července 22:40
Avatar
Petr Čech
Redaktor
Avatar
Odpovídá na Tomáš Martin Holub
Petr Čech:1. července 23:53

To je informace celkem k ničemu. PhpMailer má sekci pro instalaci - https://github.com/…er/PHPMailer#… . Co z toho používáš?

  • Máš composer a vždy přidáváš autoloader z vendor/autolo­ader.php?
  • Máš vlastní autoloader? Pokud ano, poděl se.
  • Máš nějaký framework? Očividně ale ne...
  • Nebo nemáš autoloader vůbec a prostě všechno přidáváš přes require (ewww..) ?
  • Přidal sis phpmailer do include_path? To vy vysvětlovalo, že to u tebe jde a na serveru ne.
Nahoru Odpovědět  +1 1. července 23:53
the cake is a lie
Avatar
Odpovídá na Petr Čech
Tomáš Martin Holub:2. července 7:44

Používám framework , ale dělám to přes workspace .

 
Nahoru Odpovědět 2. července 7:44
Avatar
Petr Čech
Redaktor
Avatar
Odpovídá na Tomáš Martin Holub
Petr Čech:2. července 9:02

Ok, ale pořád jsi nám prakticky nic neřekl. Jestli chceš, aby ti bylo pomoženo, musíš tomu jít naproti - ideálně tím, že řekneš třeba co to je za framework a jak načítáš třídy. Načítání tříd je naprosto klíčová informace, bez které nemá smysl pokračovat. Pokud nemáš zdání, co po tobě vlastně chci, přihoď sem ukázku nějaké stránky (vyhaž z toho konkrétní obsah, zajímavý je většinou především PHP začátek souborů.
PS: jaký workspace? Neznám to a google vyhodil akorát SW pro management času v týmu...

Nahoru Odpovědět  +1 2. července 9:02
the cake is a lie
Avatar
Tomáš Martin Holub:2. července 15:59
$mail = new \PHPMailer\PHPMailer\PHPMailer

To používám a taky

namespace PHPMailer\PHPMailer;

/**
 * PHPMailer - PHP email creation and transport class.
 *
 * @author  Marcus Bointon (Synchro/coolbru) <[email protected]>
 * @author  Jim Jagielski (jimjag) <[email protected]>
 * @author  Andy Prevost (codeworxtech) <[email protected]>
 * @author  Brent R. Matzelle (original founder)
 */
class PHPMailer

To je na phpmaileru :)

 
Nahoru Odpovědět 2. července 15:59
Avatar
Petr Čech
Redaktor
Avatar
Odpovídá na Tomáš Martin Holub
Petr Čech:2. července 16:02

Rozuměj, že ti nemohu poradit, když nám neřekneš, jak načítáš třídy. Zbytek jen jen omáčka, která může a nemusí pomoct.

Nahoru Odpovědět 2. července 16:02
the cake is a lie
Avatar
Odpovídá na Petr Čech
Tomáš Martin Holub:2. července 16:08

Jak to myslíš ? Já přídám

$x = new \x\x;
 
Nahoru Odpovědět 2. července 16:08
Avatar
Tomáš Martin Holub:2. července 16:08

A funguje to

 
Nahoru Odpovědět 2. července 16:08
Avatar
Petr Čech
Redaktor
Avatar
Odpovídá na Tomáš Martin Holub
Petr Čech:2. července 20:18

Ano, ale ne samo od sebe, PHP tak nefunguje. Něco to musí načítat, proto buď musíš psát pro každou třídu require a zbláznit se z toho, nebo máš autoloader - ten buď zajišťuje framework, composer, nebo máš vlastní řešení.

Nahoru Odpovědět 2. července 20:18
the cake is a lie
Avatar
Odpovídá na Petr Čech
Tomáš Martin Holub:2. července 20:19

A to nefunguje i když využívám workspace ?

 
Nahoru Odpovědět 2. července 20:19
Avatar
Odpovídá na Petr Čech
Tomáš Martin Holub:2. července 20:25

Dobře zítra pošlu .

 
Nahoru Odpovědět 2. července 20:25
Avatar
Odpovídá na Petr Čech
Tomáš Martin Holub:2. července 20:29

Toto používám -

function __autoload($class) {

    $pathUpperCase = str_replace('\\', '/', $class);
    $pathArray = explode("/", $pathUpperCase);
    $className = array_pop($pathArray) . '.php';

    foreach ($pathArray as &$value) {
        $value = strtolower($value);
    }

    $path = implode("/", $pathArray);

    if (file_exists($path . "/" . $className)) {
        require $path . "/" . $className;

        return true;
    } else {
        return false;
    }
}
 
Nahoru Odpovědět 2. července 20:29
Avatar
Petr Čech
Redaktor
Avatar
Odpovídá na Tomáš Martin Holub
Petr Čech:2. července 20:44

netuším, co je workspace

Nahoru Odpovědět 2. července 20:44
the cake is a lie
Avatar
Odpovídá na Petr Čech
Tomáš Martin Holub:2. července 20:45

Sry , já jsem chvíli nechápal . Autoloader jsem sem už poslal .

 
Nahoru Odpovědět 2. července 20:45
Avatar
David Hynek
Redaktor
Avatar
Odpovídá na Tomáš Martin Holub
David Hynek:3. července 18:42

Otazka znela, mas nactenou tridu? Viz treba:

require 'PHPMailerAutoload.php';
$mail = new PHPMailer;
Editováno 3. července 18:44
Nahoru Odpovědět 3. července 18:42
Čím víc vím, tím víc věcí nevím.
Avatar
Odpovídá na David Hynek
Tomáš Martin Holub:3. července 18:45

Jak to myslíš? ( Já nejsem moc v php pokročilý takže nějaké věci nemusím vědět )

 
Nahoru Odpovědět 3. července 18:45
Avatar
David Hynek
Redaktor
Avatar
Odpovídá na Tomáš Martin Holub
David Hynek:3. července 18:49

Ja toho nevim...

V phpinfo() se koukni, zda mas tridu co chces pouzivat spustenou uz pri startu serveru. Na localhostu ji muzes mit spustenou, ale treba na freehostingu muze byt zakazana, nebo jen nespustena. Pak tu tridu musit umistit do slozky stranek a pred pouzitim ji spustit. Trebas tak jak jsem psal.

Nahoru Odpovědět 3. července 18:49
Čím víc vím, tím víc věcí nevím.
Avatar
Odpovídá na David Hynek
Tomáš Martin Holub:3. července 18:50

Spustit ? A jak jí spustím ?

 
Nahoru Odpovědět 3. července 18:50
Avatar
David Hynek
Redaktor
Avatar
Odpovídá na Tomáš Martin Holub
David Hynek:3. července 19:02

Ale to ti psal uz Petr Cech. Kdyz se ptas, tak zkus cist i odpovedi...

Jinak se spousti tak, jak jsem ti psal...

Nahoru Odpovědět 3. července 19:02
Čím víc vím, tím víc věcí nevím.
Avatar
Odpovídá na David Hynek
Tomáš Martin Holub:3. července 19:08

Já to zkusím podle toho tvého

 
Nahoru Odpovědět 3. července 19:08
Avatar
Tomáš Martin Holub:3. července 19:31

Ale , stává se mi tato chyba jen u importovaných scriptů ( které jsem nenapsal já )

 
Nahoru Odpovědět 3. července 19:31
Avatar
Tomáš Martin Holub:16. července 23:54

Už je to opraveno.

Akceptované řešení
+5 Zkušeností
Řešení problému
 
Nahoru Odpovědět 16. července 23:54
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 28 zpráv z 28.