Autor | Zpráva | ||
---|---|---|---|
Vladimir Profil |
#1 · Zasláno: 22. 2. 2015, 11:06:36
Zdravím,
chtěl bych se zeptat a poprosit o pomoc. mam v php "přihlášku" s nejrůznějšími udaji. Ty se pak odesílají na email. Všiml jsem si, že se ukládají také na stejný web. Jelikož je přihlášek strašně moc a nestíhám vše z emailu kopírovat a ručně dávat do excel tabulky, zjistil jsem, že si můžu ulehčit práci přs csv soubor. Byl bych moc vděčný za pomoc při tvorbě kodů, prý to není těžké tak nevím.. mohu okopírovat řádky z mého webu a předem moc díky za pomoc |
||
mimochodec Profil |
#2 · Zasláno: 22. 2. 2015, 11:18:47
csv je čistě textový formát. Do souboru se zapisuje pomocí http://php.net/manual/en/function.fwrite.php . Jestli chceš obsah připojit, nikoliv starý přepsat, použij parametr
$fp = fopen('data.txt', 'a'); Zbývá poslední věc - oddělení sloupců. Mám pocit, že ani jednotlivé verze excelu v tom nejsou konzistentní. Někdy správně importují soubor, kde je text rozdělen čárkami, někdy musíš použít středník.
|
||
juriad Profil |
#3 · Zasláno: 22. 2. 2015, 11:25:42
Na ukládání CSV existuje funkce fputcsv.
|
||
Vladimir Profil |
#4 · Zasláno: 22. 2. 2015, 11:34:30
ok, diky.. jelikož jsem začátečník, vůbec nevím kam to mám zapsat..
|
||
mimochodec Profil |
#5 · Zasláno: 22. 2. 2015, 11:38:03
Vladimir:
Nejlépe do toho skriptu, který posílá email. |
||
Vladimir Profil |
#6 · Zasláno: 22. 2. 2015, 11:43:56
to znamena....
//$query = "INSERT INTO application VALUES (NULL, '".$_POST["jmeno"]."', '".$_POST["narozeni"]."', '".$_POST["kontakt"]."', '".$_POST["telefon"]."', '".$_POST["email"]."', '".$_POST["ubytovani"]."', '".$_POST["ubytovani_s"]."', '...................................................... '".$_POST["rodic_deti"]."', '".$_POST["komentar"]."', 0);"; if (mysql_query($query)) { $predmet = "Prihlaska na ........................"; $zprava = "Na webu byla vložena nová přihláška na kurz. Kontaktovat odesílatele můžete pomocí tlačítka Odpovědět.<br /><br />".$prihlaska; $hlavicky = 'From: noreply@...................cz'."\r\n"; $hlavicky .= 'Reply-To: '.$_POST["email"]."\r\n"; $hlavicky .= 'MIME-Version: 1.0'."\r\n"; $hlavicky .= 'Content-Type: text/html; charset=utf-8'."\r\n"; $hlavicky .= 'Content-Transfer-Encoding: 8bit'."\r\n"; mail("ro......f@atlas.cz", $predmet, $zprava, $hlavicky); if (mail("..................@email.cz", $predmet, $zprava, $hlavicky)) { $predmet = "Prihlaska na ................................."; $zprava = "Toto je potvrzení, že vaše přihláška byla úspěšně odeslána. O zařazení do kurzů budete informováni do 27.6 2014.<br /><br />Děkujeme<br />"; $hlavicky = 'From: noreply@................................cz'."\r\n"; $hlavicky .= 'Reply-To: prihlasky@...........................v.cz'."\r\n"; $hlavicky .= 'MIME-Version: 1.0'."\r\n"; $hlavicky .= 'Content-Type: text/html; charset=utf-8'."\r\n"; $hlavicky .= 'Content-Transfer-Encoding: 8bit'."\r\n"; mail($_POST["email"], $predmet, $zprava, $hlavicky); echo "."; } } |
||
Keeehi Profil |
Vladimir:
Netýká se to problému, ale ten script pravděpodobně trpí SQL injection |
||
Vladimir Profil |
#8 · Zasláno: 22. 2. 2015, 11:59:49
jak bych to tedy mel rešit?
|
||
Keeehi Profil |
#9 · Zasláno: 22. 2. 2015, 12:20:04
Vladimir:
Nevěřit uživatelským vstupům a tedy je ošetřit pomocí mysql_real_escape_string. |
||
mimochodec Profil |
Vladimir:
Máš funkci a příklady jejího použití, máš svoje data. Co víc potřebuješ? Zkusils třeba toto? $fp = fopen('file.csv', 'w'); fputcsv($fp, array($_POST["jmeno"], $_POST["narozeni"])); fclose($fp); Kam to máš zapsat, to už nechám na tobě. To, jak to tvoje php funguje a kam ten zápis csv logicky patří, to bys zvládnout měl. K tomu, co ti psal Keeehi: používáš surová data přímo z formuláře. Ono ti to určitě funguje, pokud se ti tam nebude chtít zapsat třeba někdo jménem O'Halloran. |
||
Časová prodleva: 10 let
|
0