2015-03-18 17 views
-1

喂所以這是我有:這段代碼有什麼問題? (imagettftext)和類似的

test.php的

<form action="index.php" method="post"> 
    <input type="text" name="nick"> 
    <input type="submit" name="test"> 
</form> 

的index.php

<?php 
if(isset($_POST['test'])) { 

    $bg = imagecreatefrompng('img/sygn/1.png') or die("t"); 
    $font = "others/rte.ttf"; 
    $blackColor = imagecolorallocate($bg, 47, 53, 62); 
    $diamondColor = imagecolorallocate($bg, 140, 244, 226); 
    $emeraldColor = imagecolorallocate($bg, 92, 244, 149); 
    $goldCollor = imagecolorallocate($bg, 234, 238, 87); 
    header("Content-type: image/png"); 
    imagettftext($bg, 29, 0, 5, 33, $blackColor, $font, 'Username'); 
    imagettftext($bg, 17, 0, 360, 83, $goldCollor, $font, '20'); 
    imagettftext($bg, 17, 0, 360, 43, $emeraldColor, $font, '20'); 
    imagettftext($bg, 28, 0, 50, 125, $diamondColor, $font, '400'); 
    imagepng($bg); 
    imagepng($bg, "users/image.png"); 
    imagedestroy($bg); 
} 

?> 

我想點擊後顯示圖像按鈕。但它不起作用,我沒有任何形象只是空白的一面。 如果我刪除if語句它可以正常工作。 另外,如果我加入:

echo '<input type="text">' 

在第一行,圖像發生器不會正常工作。 同樣的,例如:

include form.php 

這就是我得到:

http://screenshot.net/pjg6du1 
+0

添加錯誤報告給您的文件(S)的頂部例如您打開PHP標籤 ' 2015-03-18 21:40:25

+0

你爲什麼要調用'imagepng'兩次? – andrewsi 2015-03-18 21:40:34

+0

我沒有收到任何錯誤。我試過了。安德魯西現在並不重要。如果我刪除if語句,它會正常工作。這是我點擊按鈕後得到的http://screenshot.net/pjg6du1 – 2015-03-18 21:42:55

回答

0

試試這個:

if(isset($_POST['nick']) && $_POST['nick'] != '') { 
    //my code 
} 
+0

男人,它不會工作,我知道它。而在這一刻,我想用按鈕來創建圖像。這與我的問題無關。 – 2015-03-18 21:25:39

+0

所以在提交元素中加入一個值''input type =「submit」name =「test」value =「go」>' – 2015-03-18 21:30:39

+0

這不是問題。即使我使用按鈕也能正常工作,但Image不會生成 – 2015-03-18 21:31:57

0

您需要爲您的輸入設定值提交如下所示:

<input type="submit" value="Submit" name="submit" /> 

類似的另一個answer

+0

不是。問題不在這裏。當我查看代碼時,我的圖像被生成但我沒有看到它。 – 2015-03-18 21:31:28

+0

這是我得到的:http://screenshot.net/pjg6du1 – 2015-03-18 21:40:11

+0

好吧,試着echo ifset($ _ POST ['test'])如果條件,如果它是真的,所以它會通過代碼裏面if語句,那是爲了確定,並讓我知道 – 2015-03-18 21:45:11

0
  1. 檢查所有路徑是否正確(img,字體和用戶目錄)。
  2. 你的if語句是正確的。
  3. 在您的頁面上添加
  4. 它的工作原理。

imagepng在用戶目錄中創建圖像,但不會將其顯示在您的頁面上。

下面

正確的代碼:

<html> 
<head> 
<?php 
if(isset($_POST['test'])) { 

    $bg = imagecreatefrompng('img/sygn/1.png') or die("t"); 
    $font = "others/rte.ttf"; 
    $blackColor = imagecolorallocate($bg, 47, 53, 62); 
    $diamondColor = imagecolorallocate($bg, 140, 244, 226); 
    $emeraldColor = imagecolorallocate($bg, 92, 244, 149); 
    $goldCollor = imagecolorallocate($bg, 234, 238, 87); 
    header("Content-type: image/png"); 
    imagettftext($bg, 29, 0, 5, 33, $blackColor, $font, 'Username'); 
    imagettftext($bg, 17, 0, 360, 83, $goldCollor, $font, '20'); 
    imagettftext($bg, 17, 0, 360, 43, $emeraldColor, $font, '20'); 
    imagettftext($bg, 28, 0, 50, 125, $diamondColor, $font, '400'); 
    imagepng($bg); 
    imagepng($bg, "users/image.png"); 
    imagedestroy($bg); 
} 

?> 
</head> 
<body> 
<form action="test.php" method="post"> 
    <input type="text" name="nick"> 
    <input type="submit" name="test"> 
</form> 
<img src="users/image.png" /> 
</body> 
</html> 
+0

那麼,我仍然無法找到它的問題是什麼?謝謝。 – 2015-03-18 21:48:52

+0

您是否在表單下方添加了一個img標籤(請參閱代碼)以查看圖像?你看到目錄用戶中的圖像嗎? – 2015-03-18 21:52:18

+0

截圖中源代碼的路徑不正確!該圖像位於users/image.png中。 – 2015-03-18 21:57:14