JQuery — JQtouch / Contao Загрузка изображений с переполнением стека

Я пытаюсь загрузить изображения с формой на мой веб-сервер, но $ _FILES [‘file’] не может найти мой файл.

Он предназначен только для мобильных телефонов, и я использую Contao в качестве CMS. Я могу загружать файлы на сервер, если использую новую страницу, которая не была сгенерирована Contao или jQtouch. Код вниз реализован в моей CMS. Я думаю, что есть проблемы с JQuery или Ajax. Есть ли способ, которым я могу заставить это работать?

HTML:

<form action="/send_mail_php.php" method="post" enctype="multipart/form-data">
<ul class="edit rounded">
<li class="arrow">
<select id="Anrede">
<option value="Frau">Frau</option>
<option value="Herr">Herr</option>
</select>
</li>
<li>
<input type="text" name="Firma" placeholder="Firma*" id="firma" data-emoji_font="true" style="font-family: 'Avenir Next', Avenir, 'Segoe UI Emoji', 'Segoe UI Symbol', Symbola, EmojiSymbols !important;">
</li>
<li>
<input type="text" name="Abteilung" placeholder="Abteilung*" id="abteilung" data-emoji_font="true" style="font-family: 'Avenir Next', Avenir, 'Segoe UI Emoji', 'Segoe UI Symbol', Symbola, EmojiSymbols !important;"/>
</li>
<li>
<input type="text" name="Vorname" placeholder="Vorname*" id="vorname" data-emoji_font="true" style="font-family: 'Avenir Next', Avenir, 'Segoe UI Emoji', 'Segoe UI Symbol', Symbola, EmojiSymbols !important;"/>
</li>
<li>
<input type="text" name="Nachname" placeholder="Nachname*" id="nachname" data-emoji_font="true" style="font-family: 'Avenir Next', Avenir, 'Segoe UI Emoji', 'Segoe UI Symbol', Symbola, EmojiSymbols !important;">
</li>
<li>
<input type="tel" name="Telefon" placeholder="Telefon*" id="telefon">
</li>

<li>
<input type="email" name="Email" placeholder="E-Mail-Adresse*" id="email">
</li>
<li>
<input type="text" name="Ort" placeholder="Wo ist der Schaden?*" id="ort" data-emoji_font="true" style="font-family: 'Avenir Next', Avenir, 'Segoe UI Emoji', 'Segoe UI Symbol', Symbola, EmojiSymbols !important;">
</li>
<li>
<input type="file" name="fileToUpload" id="fileToUpload">
<li>
<textarea  name="Schadensbericht" placeholder="Schadensbericht*" id="bericht" data-emoji_font="true" style="font-family: 'Avenir Next', Avenir, 'Segoe UI Emoji', 'Segoe UI Symbol', Symbola, EmojiSymbols !important;"></textarea>
</li>
<li>
Kopie an mich
<input name="checkbox" id="checkbox" type="checkbox" class="toggle">
</li>
<li>
<a name="submit" value="Upload" type="submit" style="margin-top: 10px; margin-bottom: 10px;" href="#" class="submit whiteButton">Senden</a>
</li>
</ul>
</form>

PHP:

if(isset($_POST['fileToUpload'])){
$src = $_FILES['fileToUpload']['tmp_name'];
$dst = $target_path;

if (!file_exists($src))
echo ("<br>File wasn't found<br> SRC = ".$_REQUEST['file']);

if (!is_readable($src))

echo ("<br>File is uploaded but not readable");

if (!is_writeable($destination_path))

echo ("<br>Check your permission for the destination directory");

@touch($dst);
if (!file_exists($dst))
echo ("<br>Error (?)");if (@move_uploaded_file($_FILES['fileToUpload']['tmp_name'], "images/".$_FILES['fileToUpload']["name"])) {

$checkUpload = 'true';

}
else {

$checkUpload = 'false';

}
}
else {
echo ("<br>Error: Not working");
}

Я только начал программировать несколько недель назад, и я действительно новичок в веб-разработке, поэтому мне поможет, если вы опубликуете готовый код, как это исправить, или подробную инструкцию.

1

Решение

1) ваш код имеет if(isset($_POST['file'])){ в PHP и в вашем HTML Наименование элемента управления filetoUpload <input type="file" name="fileToUpload" id="fileToUpload">

сопоставьте имена, и вы должны быть до конца.
2) <li><a name="submit" value="Upload" type="submit" style="margin-top: 10px; margin-bottom: 10px;" href="#" class="submit whiteButton">Senden</a>
Если я правильно помню, <a> тег никогда типа submit , это всегда input type="submit" или если вы хотите отправить форму, Удалить type="submit" из вашего кода и вместо этого используйте этот код

<li><a name="submit" value="Upload" onclick="document.forms[0].submit();" style="margin-top: 10px; margin-bottom: 10px;" href="#" class="submit whiteButton">Senden</a>
0

Другие решения

Так что я не знаю о вас, но начинать с программирования, а затем использовать рамки для начала … не является оптимальным.

Загрузка файла (обычно) не является ajax-проблемой.
Существует некоторый код, который запрещает запрос ajax, если вы не следуете правилам. Форум

Почему вы просто не используете расширение для контаго?
подобно этот или же этот или же этот

Или напишите свой, если хотите.
Руководство(Немецкий)

0