Autor Zpráva
Vladimir
Profil
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
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
Na ukládání CSV existuje funkce fputcsv.
Vladimir
Profil
ok, diky.. jelikož jsem začátečník, vůbec nevím kam to mám zapsat..
mimochodec
Profil
Vladimir:
Nejlépe do toho skriptu, který posílá email.
Vladimir
Profil
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
jak bych to tedy mel rešit?
Keeehi
Profil
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.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: