ваш вывод изображения в виде необработанных данных.Это нормально, но вы также отправляете html-код, повреждая, таким образом, ваше изображение.
Для начала вам нужно разделить их, и это должно создать то, что вам нужно, если ваш существующий код php работает.
Some.html
<form action="Creating_Images_with_PHP.php" method="get">
<input type="text" name="name" />
<input type="submit" value="Enter" />
</form>
Создание_Images_with_PHP.php
<?php
header("Content-type: image/jpeg");
$name = $_GET['name'];
$message = "Welcome to php academy, $name";
$length = strlen($message) * 9.3;
$image = imagecreate($length, 20);
$background = imagecolorallocate($image, 0, 0, 0);
$foreground = imagecolorallocate($image, 255, 255, 255);
imagestring($image, 5,5,1, $message, $foreground);
imagejpeg($image)
?>
После того, как вы проверили, вы можете работать над созданием сценария и HTML-кода в одном файле.Это можно сделать, проверив информацию запроса в поле вашего имени:
if(isset($_GET['name'][1])){
/* generate image */
}else{
/* output form */
}