Autor | Zpráva | ||
---|---|---|---|
archimaper Profil * |
#1 · Zasláno: 23. 2. 2011, 18:31:27
Zdravím všechny šikovný hlavy tu. Hned z počátku bych chtěl poděkovat za tento web. Je super ... ale k věci. Jsem velký začátečník a furt se učím. php by se dalo říct, že skoro vůbec nerozumím, umím ho naimplementovat do html a jen lehce poupravit již hotové věci. Také jsem tak učinil v případě php maileru na webu www.archiamo.eu zde jsou kódy formuláře a maileru:
<?php $max_att = 4000000; $to = 'mujmail@seznam.cz'; $charset = 'windows-1250'; if(!isset($_POST['submitter'])) exit('<h1>Error 1</h1>'); $subject = 'Priloha z webu'; $from = $_POST['Odesilatel']; $message .= 'Odesláno ze stránky: ' . $_SERVER['HTTP_REFERER'] . "\r\n"; while (list($name, $value) = each($_POST)) { if ($name == 'MAX_FILE_SIZE' || $name == 'charset' || $name == 'submitter') { } elseif (gettype($value) == 'array') { // TAG SELECT MULTIPLE $cnt = count($value); for ($i=0; $i < $cnt; $i++) { $message .= "$name: $value[$i]r\\n"; } } else { // OSTATNÍ ELEMENTY $message .= "$name $value\r\n"; } } $valid = 1; $file_size = $_FILES['fileatt']['size']; $file_name = $_FILES['fileatt']['name']; $file_type = $_FILES['fileatt']['type']; if ($file_size > 0) $att_present = true; $message .= "' /> VELIKOST PŘÍLOHY: $file_size bytes\r\n\n"; if($att_present) { if($file_size > $max_att) { $valid = 0; $err_msg .= "<p>Příloha je větąí neľli povolených $max_att bajtů"; } if ( $file_type != 'image/gif' // GIF && $file_type != 'image/jpeg' // JPG JPEG && $file_type != 'image/pjpeg' // JPG JPEG && $file_type != 'image/png' // PNG && $file_type != 'image/x-icon' // ICO && $file_type != 'application/x-zip-compressed' // ZIP ) { $valid = 0; $err_msg .= "Skript nepodporuje tento typ souboru $file_type"; } $dots = substr_count($file_name,'.'); if($dots != 1) { $valid = 0; $err_msg .= "Příloha má nepovolený počet extenzí $dots"; } $extension = strtolower(strstr($file_name,'.')); if ( $extension != ".gif" && $extension != ".jpg" && $extension != ".jpeg" && $extension != ".png" && $extension != ".ico" && $extension != ".zip" ) { $valid = 0; $err_msg .= "Skript nepodporuje extenzi $extension"; } $p = strlen($extension); if($p != 4 && $p != 5) { $valid = 0; $err_msg .= "Příloha má neplatnou délku extenze $p"; } if($valid == 1){ $fileatt = $_FILES['fileatt']['tmp_name']; $headers = "From: $from"; if(is_uploaded_file($fileatt)) { $file = fopen($fileatt,'rb'); $data = fread($file,filesize($fileatt)); fclose($file); $semi_rand = md5(time()); $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; $message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=$charset\n" . "Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n"; $data = chunk_split(base64_encode($data)); $message .= "--{$mime_boundary}\n" . "Content-Type: {$file_type};\n" . " name=\"{$file_name}\"\n" . "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n" . "--{$mime_boundary}--\n"; } $message = StripSlashes($message); $sent = @mail($to, $subject, $message, $headers); if($sent) echo "Formulář byl úspěąně odeslán"; else echo "Formulář se nezdařilo odeslat"; } if($valid!==1) { echo "<span>Chyba...</span>$err_msg"; echo "<span>Klikněte na Zpět a zkuste znovu"; } } else { // není příloha $message = StripSlashes($message); $sent = @mail($to, $subject, $message, $headers); if($sent) echo "<span>Formulář byl úspěąně odeslán, děkuji za Váą zájem.</span> <br> <span> <a href=vlozitstavbu.html style= color:#393939 > vloľit daląí stavbu </a></span> "; else echo "Formulář se nezdařilo odeslat"; } ?> <form enctype="multipart/form-data" method="post" action="mailer.php"> |
||
archimaper Profil * |
#2 · Zasláno: 23. 2. 2011, 18:32:11
mám překlep v adrese je to www.archimap.eu
|
||
archimaper Profil * |
#3 · Zasláno: 24. 2. 2011, 18:47:41
Nikdo neví, nebo sem to blbě zformuloval?
|
||
tiso Profil |
#4 · Zasláno: 24. 2. 2011, 18:51:37
archimaper: pochválil si sa tu nejakým kódom, na nič si sa nepýtal, tak neviem, čo máme vedieť?
|
||
archimaper Profil * |
#5 · Zasláno: 24. 2. 2011, 19:27:15
aj sorry, nějak sem si nevšiml, že mi vypadla část s dotazama, co byla vložená až za kódem. Pokusím se to zformulovat ještě jednou. Jde mi o následující: formulář mi přijde na mail asi v této podobě:
Odesláno ze stránky: http://www.archimap.eu/vlozitstavbu.html Odesilatel: stavby@archimap.eu <marker_name=': Kostel svaté Kateřiny '_Lat=': 49.590329 '_Lang=': 17.25405 '_url=': http://cs.wikipedia.org/wiki/Kostel_svat%C3%A9_Kate%C5%99iny_(Olomouc) '_autor=': '_spoluautor=': '_adresa=': Olomouc, Kateřinská '_state=': Česká republika '_groupIDs=': 1 ,: _ ,_: 12 '_rok=': 1360 - 1363 ' /> VELIKOST PŘÍLOHY: 53204 bytes No a jde mi o to: 1. jsetli se dá někde nastavit, aby se formulář vypsal bez dvojteček (což je oddělení jména imputu a zadané hodnoty uživatelem). 2. jestli by se jména imputu mohly vypsat s klasickýma mezerama (tak jak josu zadaný v formuláři), mezery se mi totiž nahrazují spodníma podtržítkama 3. aby se vypsaly všechny hodnoty do jednoho řádku, teď se to odřádkuje za každým vypsaným jménem imputu s vloženou hodnotou. tisco: omlouvám se a zároveň dík za upozornění, úplně mi to uniklo |
||
archimaper Profil * |
#6 · Zasláno: 24. 2. 2011, 19:31:33
dívám se, že ani ten kód formuláře není vložený celý, nějak sem to vkládání dotazu zmastil. Kdyby to bylo potřba vložím ho znovu, ale myslím že pro moje dotazy týkající se php maileru by to nemělo vadit.
|
||
Darker Profil |
#7 · Zasláno: 24. 2. 2011, 19:48:57 · Upravil/a: Darker
|
||
archimaper Profil * |
#8 · Zasláno: 24. 2. 2011, 21:32:25
díky, odřádkování je vyřešené. Dvojtečku jsem našel přímo v maileru tak jsem ji oddělal, ale nemohu se zbavit spodního podtřžítka v názvu imputů. Ono to podtřítko tam totiž v html není, ale php ji vypíše zkoušel jsem toto:
$_POST=str_replace('_',' ',$_POST); ale funguje to jenom na hodnoty imputů, ne na name. preg_replace se mi nepodařilo zprovoznit, asi dělám někde chybu. Věděl by někdo prosím |
||
Časová prodleva: 13 let
|
0