gpt4 book ai didi

php - 从下拉列表中获取值。 (有点棘手)

转载 作者:可可西里 更新时间:2023-10-31 23:42:32 26 4
gpt4 key购买 nike

首先,我对 PHP 和编码还很陌生,但请注意。

我有一个 Web 表单,它必须从一个 txt 文件(位于服务器上的一个文件夹中)中获取一些信息我知道如何让它从文件中获取信息以及如何制作下拉列表,显示文件夹中的所有文件。我怎么也想不通如何让它们一起工作,所以它读取的文件名取自下拉列表的选定值。

下拉列表的代码:

<? 
$currentdir = 'files'; //change to your directory
$dir = opendir($currentdir);

echo 'Files are as follows:<br>';
echo '<select name="select">';
while($file = readdir($dir))
{
echo '<option value="'.$file.'">'.$file.'</option>';
}
echo '</select>';
closedir($dir); ?>

以及从文件中读取的代码:

<input type="text" value="<?php $myFile = ""; $lines = file($myFile); echo $lines[2]; ?>" name="refnr" id="refnr" class="input" />

假设下拉列表显示 2 个文件,test.txt 和 test2.txt,如果我从下拉列表中选择 test2.txt,我希望它在 <?php $myFile = "" 的“”之间放置“test2.txt” ;但无论我如何尝试将代码放在那里以获得选定的值,它都会失败......

我现在的表单的完整代码:

<?php
if (!empty($_POST)) {

// Used for later to determine result
$success = $error = false;

// Object syntax looks better and is easier to use than arrays to me
$post = new stdClass;

// Usually there would be much more validation and filtering, but this
// will work for now.
foreach ($_POST as $key => $val)
$post->$key = trim(strip_tags($_POST[$key]));

// Check for blank fields
if (empty($post->refnr))
$error = true;

else {

// Get this directory, to include other files from
$dir = dirname(__FILE__);

// Get the contents of the pdf into a variable for later
ob_start();
require_once($dir.'/pdf.php');
$pdf_html = ob_get_contents();
ob_end_clean();

// Load the dompdf files
require_once($dir.'/dompdf/dompdf_config.inc.php');

$dompdf = new DOMPDF(); // Create new instance of dompdf
$dompdf->load_html($pdf_html); // Load the html
$dompdf->render(); // Parse the html, convert to PDF
$pdf_content = $dompdf->output(); // Put contents of pdf into variable for later

// Get the contents of the HTML email into a variable for later
ob_start();
require_once($dir.'/html.php');
$html_message = ob_get_contents();
ob_end_clean();

// Load the SwiftMailer files
require_once($dir.'/swift/swift_required.php');

$mailer = new Swift_Mailer(new Swift_MailTransport()); // Create new instance of SwiftMailer

$message = Swift_Message::newInstance()
->setSubject('Felanmalan') // Message subject
->setTo(array('mymail@hidden' => 'Fel')) // Array of people to send to
->setFrom(array('mymail@hidden' => 'Fel')) // From:
->setBody($html_message, 'text/html') // Attach that HTML message from earlier
->attach(Swift_Attachment::newInstance($pdf_content, 'Felanmalan.pdf', 'application/pdf')); // Attach the generated PDF from earlier

// Send the email, and show user message
if ($mailer->send($message))
$success = true;
else
$error = true;

}

}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Felanm&auml;lan fr&aring;n IKEA</title>
<style type="text/css">
html, body, h1, h2, h3, h4, h5, h6, p, span, ul, li, div, form, input, select, textarea, button {margin:0; padding:0;}
ul {list-style:none;}
a, a:hover {text-decoration:none; outline:0;}
a img {border:0;}

body {font:12px/16px Verdana, Arial, sans-serif; background:#ffffff;}
#container {width:450px; margin:10px auto; padding:10px; overflow:hidden; border:1px solid #000; border-radius:10px; -moz-border-radius:10px; -webkit-border-radius:10px; background:#F9F9F9;}
#container h1 {margin-bottom:20px; font-size:40px; line-height:40px; font-family:'HelveticaNeue-Light', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight:normal;}
.message {margin-bottom:10px; padding:5px;}
.success {color:#4F8A10; border:1px solid #4F8A10; background:#DFF2BF;}
.error {color:#D8000C; border:1px solid #D8000C; background:#FFBABA;}
label {display:block; margin-bottom:3px; cursor:pointer;}
.input, textarea, select, button {display:block; width:440px; margin-bottom:10px; padding:3px; font:22px/22px 'HelveticaNeue-Light', 'Helvetica Neue', Helvetica, Arial, sans-serif; border:1px solid #CCC; border-top-width:2px;}
textarea {font-size:13px; line-height:16px;}
select {width:396px;}
button {float:right; width:auto; margin-bottom:0; padding:3px 30px; cursor:pointer; font-size:16px; border:1px solid #999; border-bottom-width:2px; border-radius:5px; -moz-border-radius:5px; -webkit-border-radius:5px; background:#EEE;}
button:active {border-bottom-width:1px; padding:4px 30px 3px; background:#E9E9E9;}
</style>
</head>
<body>
<?
$currentdir = 'files'; //change to your directory
$dir = opendir($currentdir);

echo 'Files are as follows:<br>';
echo '<select name="select">';
while($file = readdir($dir))
{
echo '<option value="'.$file.'">'.$file.'</option>';
}
echo '</select>';
closedir($dir); ?>

<div id="container">

<h1><img src="felimg.png" /> Felanm&auml;lan</h1>

<?php if ($success) { ?>
<div class="message success">
<h4>Congratulations! It worked! Now check your email.</h4>
</div>
<?php } elseif ($error) { ?>
<div class="message error">
<h4>Sorry, an error occurred. Try again!</h4>
</div>
<?php } ?>

<form method="post" action="">
<label for="date"><b>Date:</b></label>
<input type="text" readonly name="date" id="date" class="input" value="<? print(Date("Y-m-d")); ?>"/>

<label for="refnr"><b>Referensnummer:</b></label>
<input type="text" value="<?php $myFile = ""; $lines = file($myFile); echo $lines[2]; ?>" name="refnr" id="refnr" class="input" />

<label for="bestav"><b>Best&auml;lld av:</b></label>
<input type="text" name="bestav" id="bestav" class="input" />

<label for="tel"><b>Tel:</b></label>
<input type="text" name="tel" id="tel" class="input" />

<label for="email"><b>Email:</b></label>
<input type="text" name="email" id="email" class="input" />

<label for="kund"><b>Kund:</b></label>
<textarea name="kund" id="kund" rows="4" cols="40"></textarea>

<label for="ktel"><b>Tel:</b></label>
<input type="text" name="ktel" id="ktel" class="input" />

<label for="art"><b>Ber&ouml;rd Artikel:</b></label>
<textarea name="art" id="art" rows="3" cols="40"></textarea>

<label for="fel"><b>Fel p&aring; varan: </b></label>
<textarea name="fel" id="fel" rows="2" cols="40"></textarea>

<label for="q1"><b>Installation gjord av fackman:</b></label>
<select name="q1" id="q1">
<option value="Ja">Ja</option>
<option value="Nej">Nej</option>
</select>

<label for="q2"><b>Serviceverkstad:</b></label>
<input type="text" name="q2" id="q2" class="input" />

<label for="q3"><b>Servicenr:</b></label>
<input type="text" name="q3" id="q3" class="input" />

<label for="q4"><b>Serienr:</b></label>
<input type="text" name="q4" id="q4" class="input" />

<label for="q5"><b>Inom garanti eller reklamation:</b></label>
<select name="q5" id="q5">
<option value="Garanti">Garanti</option>
<option value="Reklamation">Reklamation</option>
</select>

<label for="q6"><b>Informerat om punkt 8:</b></label>
<select name="q6" id="q6">
<option value="Ja">Ja</option>
<option value="Nej">Nej</option>
</select>

<label for="q7"><b>Har kund sj&auml;lv g&aring;tt igenom manual f&ouml;r fels&ouml;kning:</b></label>
<select name="q7" id="q7">
<option value="Ja">Ja</option>
<option value="Nej">Nej</option>
</select>

<label for="q8"><b>Ordernr:</b></label>
<input type="text" name="q8" id="q8" class="input" />

<label for="q9"><b>Ink&ouml;psdatum:</b></label>
<input type="date" name="q9" id="q9" class="input" /><br>


<p><button type="submit">Submit!</button></p>
</form>

</div>

</body>
</html>

希望它是有道理的,如果结果是一个菜鸟问题,我很抱歉 :) 我用了 2 天的时间进行谷歌搜索和测试,我只是到了需要再次朝着正确方向插入的地步。

提前致谢。

p.s 简短地解释一下我的目标是什么,然后我有一个生成 txt 文件并将其保存在服务器上的网络表单,然后是另一个表单,其中“管理员”可以从下拉列表中选择文件,获取信息因为客户填写了 txt 版本,然后填写他需要填写的内容,然后将其保存并以 PDF 格式发送给技术人员。

最佳答案

你可以使用

echo '<select id="select" name="select">'; 
while($file = readdir($dir))
{
echo '<option value="'.$file.'">'.$file.'</option>';
}
echo '</select>';

在它被加载到 DOM 之后,使用

document.getElementById('select').onchange=changeSelect;
function changeSelect(){
document.getElementById('refnr').value=document.getElementById('select').value;
}
changeSelect();

在这里查看:http://jsfiddle.net/7nzBS/

关于php - 从下拉列表中获取值。 (有点棘手),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12237171/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com