如何制作包含图像和文本的表单

问题描述 投票:0回答:3

我想制作一个表单,用户上传图像,带有文本框的标题和带有文本区域的描述,当用户单击提交按钮时,我希望这篇文章发布在另一个页面中,并且如果其他用户使另一篇帖子将他发送到同一页面,并将他的帖子放在旧帖子之上,依此类推。

我已经有一个文件上传表单,可以将其上传到文件夹,还有一个文本表单,可以在 php 页面中显示输入。

我不知道如何继续或者我是否做错了。 如何使帖子相互重叠? 我如何将他们刚刚上传的这张图片放在他们的帖子旁边,我不认为将其上传到文件夹是正确的方法。

有人能指出正确的方向吗,因为我不是程序员,而且我似乎找不到如何做到这一点的指南。

php html forms
3个回答
0
投票

我会尝试回答你的问题,但是你提供的信息似乎太少了(没有代码!!)

处理图像有不同的方法,如果你说你是用文件夹来做的,我猜你使用了某种 JavaScript 或 PHP。

如果您使用 PHP 那么没问题。您只需将图像和文本放入一个变量中,然后回显该变量即可。为了方便构建,我会使用盲桌,尽管这不是最可行的方式,而且绝对不是无障碍的,但它可以完成工作。 PHP 非常灵活,您几乎可以将任何内容放入变量中并让它回显。它看起来像这样:

$output = "
<table>
<tr> <td> *image link here* </td> <td> *text link here* </td> </tr>
</table>
";
echo $output;

就像我说的,没有任何代码,很难准确地告诉你你在寻找什么,但我希望这是一个开始 =)


嗯,另一个 anwser 有点回答了它,你必须将所有传入的数据保存在数据库中,最好是 mysql,因为 mysql 函数内置于 PHP 中。 (但是我相信您正在将信息保存在某个地方,因为您提到了一个包含图像的文件夹)

您的表格看起来像这样:

<form method=post action=display.php>
<textarea name=comment>
<input type=submit>
</form>

现在,当有人单击该按钮时,他们将被带到“display.php”页面(或任何您想要处理数据的页面)现在,该页面中包含如下语句:

$sql_update = "INSERT INTO post (comment) VALUES ('$_POST['comment']'"; 

此语句会将前面的文本区域中提供的信息(名称为“comment”)插入到名为“comment”的列中名为“post”的表中(该表必须预先创建)

然后通过执行以下操作将信息保存到变量中:

$sql = "SELECT * FROM post";
$res = mysql_query($res);

这只是从表“post”中选择所有内容(*)并查询它(mysql_query),这意味着它已准备好工作

然后我们将整个事情放在 while 循环中,如下所示:

while($row=mysql_fetch_assoc($res))
{
$output = "
<table>
<tr> <td> *image link here* </td> <td> $row['comment'] </td> </tr>
</table>
";
echo $output;
}

只要有东西要回显,这个循环就会不断地回显每一行。 $row['comment'] 是一个链接,意味着我们正在抓取行中“comment”列中的所有内容并进行回显。 (它也会将一个叠加到另一个上,因为它接受信息集,回显它,然后接受另一个信息集,回显它......)

现在你会对你的图像做同样的事情,或者至少做类似的事情。当我们将用户和“发布时间”添加到等式中时,事情会变得更加复杂。我不知道您对 PHP/MYSQL 有多少了解,但是如果您希望使用表单处理任何内容,您将需要一些知识。我希望我的小教程不会让您感到无聊,并且希望它对您有更多帮助 =)

快乐编码=)


0
投票

将数据发布到 html 页面会将(后)变量从表单字段传递到此页面,但不会保存数据。
如果不保存数据,您只能在同一用户的下一页上显示表单中的文本。每当他/她离开页面时,页面就消失了。
我想这不是你想做的,所以 您需要以某种方式保存数据,最常见的是使用 MySQL 数据库。


0
投票

你不需要数据库吗? io ho bisogno di fare la stessa cosa, ma non capisco come fare (lo spazio in local storage è troppo poco)。

<div class="container"> <h1>Inserisci Dati Veicolo</h1> <button class="btn btn-primary"><a href="sells.html" style="color: white;">clicca per vedere le auto</a></button> <form id="messageForm" method="POST" action="upload.php" enctype="multipart/form-data"> <div class="form-group"> <label for="brandInput">Marca</label> <input type="text" class="form-control" id="brandInput" name="brand" required> </div> <div class="form-group"> <label for="modelInput">Modello</label> <input type="text" class="form-control" id="modelInput" name="model" required> </div> <div class="form-group"> <label for="kmInput">Km</label> <input type="number" class="form-control" id="kmInput" name="km" required> </div> <div class="form-group"> <label for="fuelTypeSelect">Alimentazione</label> <select class="form-control" id="fuelTypeSelect" name="fuelType" required> <option value="Benzina">Benzina</option> <option value="Diesel">Diesel</option> <option value="GPL">GPL</option> <option value="Metano">Metano</option> <option value="Ibrido">Ibrido</option> <option value="Elettrico">Elettrico</option> </select> </div> <div class="form-group"> <label for="gearboxSelect">Cambio</label> <select class="form-control" id="gearboxSelect" name="gearbox" required> <option value="Automatico">Automatico</option> <option value="Manuale">Manuale</option> <option value="Semiautomatico">Semiautomatico</option> <option value="Duplex">Duplex</option> </select> </div> <div class="form-group"> <label for="priceInput">Prezzo (€)</label> <input type="number" class="form-control" id="priceInput" name="price" required> </div> <div class="form-group"> <label for="photoInput">Carica Foto</label> <input type="file" class="form-control" id="photoInput" name="photos[]" accept="image/*" multiple required> </div> <button type="submit" class="btn btn-primary">Salva</button> </form> </div>

questo è il mio form, ho provato vari script da inserire in entrambe le pagine (ps. upload.php l'ho creato alla Fine, prima il siteto funzionava tutto in local storage e avevo uno script in backend.html e uno in sells .html che è dove devono crearsi le card dopo aver salvato il form)

© www.soinside.com 2019 - 2024. All rights reserved.