Nach Submit neues Fenster mit fixer grösse öffnen

schampar

Mitglied
Hallo zusammen

Ich habe jetzt das ganze Forum durchsucht und einiges an Beispielen gefunden die plus-minus mein Problem beschreiben, jedoch habe ich alle ausprobiert und keines funktioniert.

Die Popup Window.new funktion klappt zwar, jedoch wir die Zielseite nicht richtig geöffnet.

Es geht um folgendes:
Besucher wählt Schriftgrösse, Schriftart und Wunschtext aus, dann klickt er auf submit und sieht die Bildvorschau welche mittels GDLIB erstellt wird.
Hier das funktionierende Beispiel, jedoch geht das Fenster nicht so auf wie ich dies möchte (Fixgrösse):
http://www.t-shirt.ch/schriften.php

Folgendes habe ich nun gemacht:
Code:
<script type="text/javascript">
function subform(){ window.open
('http://www.tshirtshop.ch/libli/schrift_vorschau.php?text=$vorschautext&fontfile=$schriftart&fontsize=$schriftgroesse','subfrom','width=800, 
height=300'); 
} 
</script>

Code:
<input type="submit" name="submit" class="button" value="Schriftart anschauen" checked onClick="subform(); return false;">

Die Felder $schriftart, $schriftgroesse, $vorschautext sind die Felder in der FORM (NAME).
text, fontsize und fontfile sind die variablen die ich benötige um die Grafik zu erstellen auf der Zielseite.

Hier noch die URL, komisch ist nur das er die Schriftarten irgendwie nicht findet bei dieser Version:
http://www.t-shirt.ch/test.php

Weiss hier jemand einen Rat oder Tip?

Vielen Dank für eure Hilfe.

Lieben Gruss
Florian
 
Was ist denn genau das Problem?
Wenn ich mal so guck wird da ein Fenster geoeffnet, aber das Bild kann nicht geladen werden, was fuer mich dafuer spricht, dass das Bild nicht erstellt werden kann.
 
Stimmt, das Problem ist das Schriftart nicht gefunden wird, diese jedoch da ist, denn im Beispiel von http://www.t-shirt.ch/schriften.php funktioniert es ja einwandrei, und am PHP code habe ich nichts geändert.

Denke das die Variablen eventl. falsch übergeben werden, siehst du nichts falsches im Script?
 
Hi

hier ist der code des Formulares:

PHP:
<FORM ACTION="http://www.tshirtshop.ch/libli/schrift_vorschau.php" name="form" METHOD="POST" ENCTYPE="multipart/form-data" target="resultat">
  <table>
    <TR> 
      <TD width="150" bordercolor="#5185B5" bgcolor="#5185B5" class="text">Text:</TD>
                              
      <TD width="600" align="left" bordercolor="#5185B5" bgcolor="#5185B5" class="text"> 
        <INPUT NAME="vorschautext" TYPE="text" class="eingabetext" size="80">
                                </TD>
                            </TR>
							                            
    <TR> 
      <TD width="150" class="text">Schriftgr&ouml;sse:</TD>
                              
      <TD width="600" align="left" class="text"><select size="1" name="schriftgroesse" class="eingabetext">
          <option selected value="">[-bitte wählen-]</option>
          <option value="20"
                                          <?PHP
                                                if ($farbe == "20")
                                                        {
                                                        echo "selected";
                                                        }
                                          ?>
                                >20 px</option>
        </select> </TD>
                            </TR>
							                            
    <TR> 
      <TD width="150" bordercolor="#5185B5" bgcolor="#5185B5" class="text">Schriftart:</TD>
                              
      <TD width="600" align="left" bordercolor="#5185B5" bgcolor="#5185B5" class="text"> 
        <select size="1" name="schriftart" class="eingabetext">
          <option selected value="">[-bitte wählen-]</option>
          <option value="/home/www/nch836/html/libli/fonts/arialf"
                                          <?PHP
                                                if ($farbe == "/absolutserverpath/arialf")
                                                        {
                                                        echo "selected";
                                                        }
                                          ?>
                                >Arial</option>
         </select> </TD>
                            </TR>
                          </table>
					
  <p><br>
    <br>
    <input type="submit" name="submit" class="button" value="Schriftart anschauen" checked onClick="subform(); return false;">
  </p>
</FORM>
    <script type="text/javascript">function subform(){ window.open('http://www.tshirtshop.ch/libli/schrift_vorschau.php?text=$vorschautext&fontfile=$schriftart&fontsize=$schriftgroesse','subfrom','width=1000, height=300'); } </script>
absolutserverpath = Absoluter PFAD zur Schriftart

Hier der code der Zieldatei, bzw. Datei welche für IMG-Erstellung zuständig ist

PHP:
<?php  // button.php
header("Content-type: image/png");
$text = $vorschautext;
$fontfile = $schriftart;
$fontsize = $schriftgroesse;
$fontangle = 0;
$dimtxt = ImageTTFBBox($fontsize, $fontangle, $fontfile, $text);
$border = 20;
$txtsizex = abs($dimtxt[4] - $dimtxt[0]);
$txtsizey = abs($dimtxt[5] - $dimtxt[1]);
$imgsizex = $txtsizex + 2*$border;
$imgsizey = $txtsizey + 2*$border;
$txtposx = $border;
$txtposy = $txtsizey + $border;
$img = imageCreate($imgsizex, $imgsizey);

$col1 = imagecolorallocate($img, 255, 255, 255);
$col2 = imagecolorallocate($img, 0, 0, 0);

imagefill($img, 0, 0, $col1);

imageTTFText($img, $fontsize, $fontangle, $txtposx, $txtposy, $col2, $fontfile, $text);

imagepng($img);
imagedestroy($img);



?>
<body onload="this.focus()">

Hope that helps
 
Zuletzt bearbeitet:
Probier mal Folgendes:
HTML:
<form action="http://www.tshirtshop.ch/libli/schrift_vorschau.php" method="post" enctype="multipart/form-data" target="fooabr" onsubmit="window.open('', 'foobar', 'width=1000, height=300')">
PHP:
<?php
	// button.php
	header('Content-Type: image/png');

	$fontangle = 0;
	$dimtxt = ImageTTFBBox($_POST['schriftgroesse'], $fontangle, $_POST['schriftart'], $_POST['vorschautext']);
	$border = 20;
	$txtsizex = abs($dimtxt[4] - $dimtxt[0]);
	$txtsizey = abs($dimtxt[5] - $dimtxt[1]);
	$imgsizex = $txtsizex + 2*$border;
	$imgsizey = $txtsizey + 2*$border;
	$txtposx = $border;
	$txtposy = $txtsizey + $border;
	$img = imageCreate($imgsizex, $imgsizey);

	$col1 = imagecolorallocate($img, 255, 255, 255);
	$col2 = imagecolorallocate($img, 0, 0, 0);

	imagefill($img, 0, 0, $col1);

	imageTTFText($img, $_POST['schriftgroesse'], $fontangle, $txtposx, $txtposy, $col2, $_POST['schriftart'], $_POST['vorschautext']);

	imagepng($img);
	imagedestroy($img);

?>
 
Zurück