Возникли проблемы с поиском проблемы, связанной с тем, что моя форма не публикует текст или изображения, а метод публикации не установлен

Вот мой код, сначала у меня было неопределенное уведомление об индексе для «postimg» (входная переменная в форме) в цикле foreach, я избавился от уведомления, проверив, установлен ли postimg, но теперь мои сообщения и изображения выиграли ‘ После отладки моего кода я считаю, что проблема по-прежнему заключается в использовании postimg в каждом цикле, я просто не знаю, что именно. Никакой код не будет выполнен после проверки, установлен ли пост.

<?php
include("connect.php");
include("check.php");
include("image.php");
$postbody = "";
$posts = "";
//$postimg = "";

if (isset($_POST['post'])) {
//  $time = connect::query('SELECT posted_at FROM dry_posts WHERE id=:postid', array(':postid'=>$_GET['id']));
//$postimg = $_POST['postimg'];
echo 'helloooooooooooooooooooooo';

// if(isset($_POST['postimg']))
// {

//  $id = connect::query('SELECT id FROM dry_posts WHERE id=:id', array(':id'=>$_GET['id']));

if ($_FILES['postimg']['size'] == 0)
{
$postbody = $_POST['postbody'];
$loggedInUserId = check::isLoggedIn();
if (strlen($postbody) > 160 || strlen($postbody) < 1)
{
die('Incorrect length!');
}

connect::query('INSERT INTO dry_posts VALUES (null, :postbody, NOW(), 0)', array(':postbody'=>$postbody));

}
else
{
//$postid = Post::createImgPost($_POST['postbody']);
if (strlen($postbody) > 160) {
die('Incorrect length!');
}
connect::query('INSERT INTO dry_posts VALUES (null, :postbody, NOW(), 0)', array(':postbody'=>$postbody));
$postid = connect::query('SELECT id FROM dry_posts ORDER BY ID DESC LIMIT 1');
Image::uploadImage('postimg', "UPDATE dry_posts SET postimg=:postimg WHERE id=:postid", array(':postid'=>$postid));
}

}
if (isset($_GET['postid']))
{

//Post::likePost($_GET['postid']);
if (!connect::query('SELECT post_id FROM post_likes WHERE post_id=:postid', array(':postid'=>$_GET['postid'])))
{
connect::query('UPDATE dry_posts SET likes=likes+1 WHERE id=:postid', array(':postid'=>$_GET['postid']));
connect::query('INSERT INTO post_likes VALUES (null, :postid)', array(':postid'=>$_GET['postid']));
}
else
{
connect::query('UPDATE dry_posts SET likes=likes-1 WHERE id=:postid', array(':postid'=>$_GET['postid']));
connect::query('DELETE FROM post_likes WHERE post_id=:postid', array(':postid'=>$_GET['postid']));
}
}

// $posts = Post::displayPosts();
$dbposts = connect::query('SELECT * FROM dry_posts ORDER BY id DESC');
$posts = "";

if(isset($_POST['postimg'])){
foreach($dbposts as $p) {
if (!connect::query('SELECT post_id FROM post_likes WHERE post_id=:postid', array(':postid'=>$p['id']))) {
$posts .="<img src='".$p['postimg']."'>".htmlspecialchars($p['body'])."<form action='dry.php?postid=".$p['id']."' method='post'>
<input type='submit' name='like' value='Like'>
<span>".$p['likes']." likes</span>
</form>
<hr /></br />
";
} else {
$posts .="<img src='".$p['postimg']."'>".htmlspecialchars($p['body'])."<form action='dry.php?postid=".$p['id']."' method='post'>
<input type='submit' name='unlike' value='Unlike'>
<span>".$p['likes']." likes</span>
</form>
<hr /></br />
";
}
}
}

<form action="try.php" method="post" class = "forum" enctype="multipart/form-data">
<textarea name="postbody" rows="4" cols="60" class = "text"></textarea>
<br />Upload an image:
<input type="file" name="postimg">
<input type="submit" name="post" value="Post">
</form>
?>

Вот файл заголовка, «image.php», куда я загружаю изображения с помощью imgur, какие ошибки я исправил, какие-либо предложения?

<?php
include_once("connect.php");
class Image
{
public static function uploadImage($query,$params)
{
if(isset($_FILES['formname']))
{
$formname = "";
$image = base64_encode(file_get_contents($_FILES[$formname]['tmp_name']));
$options = array('http'=>array(
'method'=>"POST",
'header'=>"Authorization: Bearer 8cd9d1bb71401737dc720f9381d8e9763f580af6\n".
"Content-Type: application/x-www-form-urlencoded",
'content'=>$image
));
$context = stream_context_create($options);
$imgurURL = "https://api.imgur.com/3/image";
if ($_FILES[$formname]['size'] > 10240000) {
die('Image too big, must be 10MB or less!');
}
$response = file_get_contents($imgurURL, false, $context);
$response = json_decode($response);

$preparams = array($formname=>$response->data->link);
$params = $preparams + $params;

connect::query($query,$params);

}
}

}

?>

0

Решение

Задача ещё не решена.

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

Других решений пока нет …

По вопросам рекламы [email protected]