Page 1 of 2

ปัญหาการส่ง message จาก form ที่มีความยาวมากๆ

Posted: 30/05/2008 11:43 pm
by nungs
รบกวนปรึกษาหน่อยนะครับ คือ ผมมี form หนึ่งที่มีขนาดประมาณ 150 field โดยทั้งหมดผมต้องการส่งเป็น format ที่มีหน้าตาแบบ CSV เข้าไปใน mail ครับ

ปัญหาตอนนี้คือ ผมเอาทุก field มาต่อกันโดยการ + string

$msg = $A1.",".$A2.",".$A3.",".$A4.",".$A5.",".$A6.",".$A7.",".$A8.",".$A9;

ปัญหาที่เกิดคือ ตัวอักษรที่มีการเว้นว่างระหว่างข้อความเช่น ชื่อ และสกุล ... พอมันยาวมากๆ ดูเหมือนมันจะพยายามแทรก Line Feed เข้าไปใน $msg ครับ

ผมทดสอบส่งไปใน email และก็ทำการ copy ออกมาวางใน notepad ปรากฏว่า มันมี line feed ติดมาด้วยครับ ปกติมันจะยาวไปจนหมด(ผมปิด word wrap ไว้)

ดังนั้น message ที่ผมพยายามสร้างมันจึงถูกคั่นด้วย Line Feed พอมีหนทางใดไหมครับที่จะไม่ให้มันแทรก Line Feed ลงไปใน message ที่ผมทำการรวม string เพราะผมจะเอาไว้ add ลงใน excel ง่ายๆ น่ะครับ

Posted: 31/05/2008 12:20 am
by mindphp
form สร้างไว้ อย่างไร ครับ อาจเป็นปัญหามาจาก form ก็ได้ครับ

Posted: 31/05/2008 12:34 am
by nungs
ขอบคุณมากครับ

<form id="form1" name="form1" method="post" action="sendit.php">

ธรรมดาเลยครับ ไม่มีอะไรพิเศษ ก็ส่ง post มาตามปกติ ตัว field ของผมก็มีทั้ง text field, box field, และก็ radio field ครับ ส่วนตัวรับมาเพื่อส่งต่อก็อย่างที่เห็นครับตามด้านล่างนี้


$msg = $A1.",".$A2.",".$A3.",".$A4.",".$A5.",".$A6.",".$A7.",".$A8.",".$A9.",".$A10.",".$A11.",".$A12.",".$A13.",".$A14.",".$A15.",".$A16.",".$A17.",".$A18.",".$A19.",".$A20.",".$A21.",".$A22.",".$A23.",".$A24.",".$A25.",".$A26.",".$A27.",".$A28.",".$A29.",".$A30.",".$A31.",".$A32.",".$A33.",".$A34.",".$A35.",".$A36.",".$A37.",".$A38.",".$A39.",".$A40.",".$A41.",".$A42.",".$A43.",".$A44.",".$A45.",".$A46.",".$A47.",".$A48.",".$A49.",".$A50.",".$A51.",".$A52.",".$A53.",".$A54.",".$A55.",".$A56.",".$A57.",".$A58.",".$A59.",".$A60.",".$A61.",".$A62.",".$A63.",".$A64.",".$A65.",".$A66.",".$A67.",".$A68.",".$A69.",".$A70.",".$A71.",".$A72.",".$A73.",".$A74.",".$A75.",".$A76.",".$A77.",".$A78.",".$A79.",".$A80.",".$A81.",".$A82.",".$A83.",".$A84.",".$A85.",".$A86.",".$A87.",".$A88.",".$A89.",".$A90.",".$A91.",".$A92.",".$A93.",".$A94.",".$A95.",".$A96.",".$A97.",".$A98.",".$A99.",".$A100.",".$A101.",".$A102.",".$A103.",".$A104.",".$A105.",".$A106.",".$A107.",".$A108.",".$A109.",".$A110.",".$A111.",".$A112.",".$A113.",".$A114.",".$A115.",".$A116.",".$A117.",".$A118.",".$A119.",".$A120.",".$A121.",".$A122.",".$A123.",".$A124.",".$A125.",".$A126.",".$A127.",".$A128.",".$A129.",".$A130.",".$A131.",".$A132.",".$A133.",".$A134.",".$A135.",".$A136.",".$A137.",".$A138.",".$A139.",".$A140.",".$A141.",".$A142.",".$A143.",".$A144.",".$A145.",".$A146.",".$A147.",".$A148.",".$A149.",".$A150.",".$A151.",".$A152.",".$A153.",".$A154.",".$A155.",".$A156.",".$A157;


$To = "user@server.org";
$Subject = "Staff Profile ".$A3;
$Message = $msg;
$Header = "From : ".trim($A20);

$headers = 'From: '.trim($A20). "\r\n" .'X-Mailer: PHP/' . phpversion();

mail($To,$Subject,$Message,$Header);

ตัวอย่างนะครับ เช่น A,B,C,D,E,F........ , ABC DEF,, , , , , ,

พอยาวมากๆ มันจะตัดหลัง ABC แล้วขึ้นบรรทัดใหม่เป็น DEF,,,,, น่ะครับ คือถ้ามีข้อมูลยาวๆเมื่อไรแล้วมีช่องว่างตรงไหน มันก็ขึ้นแทรก Line Feed ลงตรงนั้นน่ะครับ

Posted: 31/05/2008 12:49 am
by mindphp
form สร้างไว้ อย่างไร ครับ อาจเป็นปัญหามาจาก form ก็ได้ครับ
form เต็มๆ สร้างไว้ แบบไหน ครับ

โพสท์ยังไงก็ไม่ติดครับ จะเอาลงยังไงหรือครับ

Posted: 31/05/2008 1:06 am
by nungs
ผมใช้ tag code .../code ก็ post ไม่ไปครับ คือออยากจะเอา code มาให้ดูนะครับ แต่โพสท์ไม่ไป ถ้าส่งไป yousendit มันก็ต้องมีอีเมล์ เลยไม่รู้จะส่งไปทางไหนดีครั

วิธีแก้ที่ผมทำแล้วใช้ได้ผลคือ ห้ามเว้นช่องว่างครับ เช่น นาย A นามสกุล B ก็ให้ใส่ A-B มันถึงจะไม่ตัดคำครับ คือ ห้ามมีช่องว่างถ้าหากต้องการส่งยาวๆ น่ะคับ แต่มันก็ไม่ควรแก้ด้วยวิธีนี้ น่าจะมีหนทางที่ดีกว่านะครับ

ประมาณนี้น่ะครับ

Posted: 31/05/2008 2:23 am
by nungs
<td colspan="3">
<label><input type="radio" name="A151" value="None" id="fluencyspoken_24">None</label>
<label><input type="radio" name="A151" value="Greetings" id="fluencyspoken_25">Greetings</label>
<label><input type="radio" name="A151" value="Market-Place" id="fluencyspoken_26">Market Place</label>
<label><input type="radio" name="A151" value="Teaching/Praching" id="fluencyspoken_27">Teaching / Praching</label>
<label><input type="radio" name="A151" value="Technical" id="fluencyspoken_28">Technical</label>
<label><input type="radio" name="A151" value="Fluent" id="fluencyspoken_29">Fluent</label> </td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td align="center" valign="middle">&nbsp;</td>
<td align="center" valign="middle">&nbsp;</td>
</tr>
<tr>
<td><div align="center" class="style6">LANGUAGE #2</div></td>
<td><input name="A152" type="text" id="textfield50" size="50" maxlength="50"></td>
<td align="center" valign="middle">&nbsp;</td>
<td align="center" valign="middle">&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td align="center" valign="middle">&nbsp;</td>
<td align="center" valign="middle">&nbsp;</td>
</tr>
<tr>
<td><div align="center" class="style6">Fluency spoken </div></td>
<td colspan="3">
<label><input type="radio" name="A153" value="None" id="fluencyspoken_18">None</label>
<label><input type="radio" name="A153" value="Greetings" id="fluencyspoken_19">Greetings</label>
<label><input type="radio" name="A153" value="Market-Place" id="fluencyspoken_20">Market Place</label>
<label><input type="radio" name="A153" value="Teaching/Praching" id="fluencyspoken_21">Teaching / Praching</label>
<label><input type="radio" name="A153" value="Technical" id="fluencyspoken_22">Technical</label>
<label><input type="radio" name="A153" value="Fluent" id="fluencyspoken_23">Fluent</label> </td>
</tr>

Posted: 31/05/2008 2:23 am
by mindphp
เอา โค้ด ไปโพสที่นี่
http://www.meelink.com/webboard/index.p ... at&catid=8
แล้ว เอาลิงค์มา บอกครับ ผมค่อนข้างมั่นใจ ว่า มีสาเหตุมาจาก form
การแก้แบบนั้น มันแก้ไม่ตรงจุด เราอย่าไปบังคับ user ให้ทำอะไรที่ผิดธรรมชาติ การใช้งานของเค้า นะครับ เดี๋ยวโปรแกรมเรา จะไม่มีคนใช้ เอานะครับ :-D :-D

ตามนี้ครับ

Posted: 31/05/2008 2:24 am
by nungs
โพสท์เรียบร้อยแล้วครับ ขอช่วยดูหน่อยนะคับ มันก็ง่ายๆ ไม่มีอะไรนะครับ แต่ไม่รู้ว่าทำไม มันตัดคำ

http://www.meelink.com/webboard/data/8/0038-1.html