• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Problem bei zufälligen Text

ezzaxx

New member
Hallo, habe folgendes Problem:

Ich habe ein Logo aus drei nebeneinanderstehenden JPGs, auf das mittlere möchte ich nun einen Zufallstext einblenden. Per PHP lasse ich diesen auswählen und anzeigen, allerdings darunter. Mit DIV-Containern kann ich einen Text auf das Logo bringen. DIV im PHP-Block erzeugt aber eine Fehlermeldung. Wie kann ich Text unter PHP ähnlich positionieren?

Möchte kein JavaScript benutzen!

Danke im vorraus, ezz
 
Du hast es mit a, b und c versucht, mit den Ergebnissen w, y und z, Dein aktueller Code ist k. Und Du willst von uns x wissen.
Anders: Wo ist die nächste freie Glaskugel?
 
Zuletzt bearbeitet:
Mal ins blaue geschossen: Pack den Text in ein div und gib diesem div das Bild als Hintergrundgrafik (mit CSS)
 
Erstmal Danke für die schnelle Antwort!

Habe leider wirklich keinen Code!!! Habe zuerst versucht mit PHP eine Zufallszahl zu erzeugen und diese mit switch/case ausgewertet. Textausgabe mit echo. Da der DIV-Container leider eine Fehlermeldung erzeugt (ParseErrorOnLine) weiß ich nun nicht, wie ich diesen positionieren könnte!
Mir fehlt (mal ganz lamermäßig gesagt) die Verbindung Zufallszahl/Auswertung zur Positionierung.Denke PHP zu CSS (sry wenn falsch gedacht).

Da ich leider Anfänger bin (mehrere Büche gekauft und weiss halt teilweise nicht unter was ich eigentlich suchen muß!) entschuldige ich mich vorsichtshalber für die bestimmt umständliche Beschreibung und gelobe diese mit den hoffentlichen Lernerfolgen zu verbessern...

Gruß ezz
 
PHP:
  <?php
    $total = "4";
    $file_type = ".jpg";
    $image_folder = "images";
    $image_mitte = "logomitte.jpg";
    $image_rechts = "logorechts.jpg";
    $image_menubg = "menubg.jpg";
    $start = "1";
    $random = mt_rand($start, $total);
    $image_name = $random . $file_type;
    echo "<img src=\"$image_folder/$image_name\" />";
    echo "<img src=\"$image_folder/$image_mitte\" />";
    echo "<img src=\"$image_folder/$image_rechts\" />";
    echo "<img src=\"$image_folder/$image_menubg\" />";
  
/* Zufallstext in bgMitte */
    $anzahltext = "2";
    $beginn = "1";
    $random_text = mt_rand($beginn, $anzahltext);
    
    switch ($random_text) {
    
    case 1:
    echo "der wert ist 1";   
    break;
    
    case 2:
    echo "der wert ist 2";
    break;
    
    default:
    echo "da ist was falsch";
    }
  ?>

So, habe mal einen Code geschrieben. Als Ergebnis möchte nun, das der Text den die Switch/Case Auswertung ergibt, auf der Grafik logorechts positioniert wird. Hoffe das ist jetzt besser...

Gruß ezz
 
Du hast ein Problem auf dem Client und zwar mit der korrekten Darstellung. Dazu musst Du zwar Deinen Servercode anfassen, aber gucken musst Du im Browser. Und dan Code solltest Du dann auch posten.

-> ich verschieb Dich mal ins CSS Forum
 
sieht für mich eher nach einem HTML/CSS-Problem als nach einem PHP Problem aus.
Wie wärs damit:

PHP:
 <?php
    $total = "4";
    $file_type = ".jpg";
    $image_folder = "images";
    $image_mitte = "logomitte.jpg";
    $image_rechts = "logorechts.jpg";
    $image_menubg = "menubg.jpg";
    $start = "1";
    $random = mt_rand($start, $total);
    $image_name = $random . $file_type;
    
  
/* Zufallstext in bgMitte */
    $anzahltext = "2";
    $beginn = "1";
    $random_text = mt_rand($beginn, $anzahltext);
    
    switch ($random_text) {
    
    case 1:
    $img_string =  "der wert ist 1";   
    break;
    
    case 2:
    $img_string = "der wert ist 2";
    break;
    
    default:
    $img_string =  "da ist was falsch";
    }
 

echo "<img src=\"$image_folder/$image_name\" />";
    echo '<div style="background-image:url('.$image_folder.'/'.$image_mitte.')>'
.$img_string.'</div>';
    echo "<img src=\"$image_folder/$image_rechts\" />";
    echo "<img src=\"$image_folder/$image_menubg\" />";
 ?>

das Div erzeugt jetzt allerdings einen Umbruch. Den bekommst du aber mit der CSS Eigenschaft "float" weg.
 
Ich habe das mal ausprobiert, logomitte(inkl.Text) und logorechts erscheinen jetzt nicht mehr. Aber habe folgendes enteckt:

Mein DIV Versuch war folgender: <div left:520;top:100;>echo = text</div>

Deiner Loesung sieht ganz anders aus, kann ich nicht mit left und top die position bestimmen. Denke das ganze ist nur ein Sysntax-Problem im PHP-Block. Es ist sehr wichtig, das die Bilder nahtlos aneinander gefügt sind.

Hoffe das ich nicht ganz daneben liege....

Leider habe ich mit Float keine Ehrfahrung!

Gruß ezz
 
@ZeitGeist

Jetzt wird es angezeigt, bei deinem Code fehlt ein Anführungszeichen im DIV Block! Aber es wird nur eine Zeilenhöhen als Hintergrund angezeigt! Das Bild hat die Maße 250x272 Pixel und Text soll dann in den unteren 2/3 erscheinen.
Aber schon was gelernt (Weiß jetzt das ich im PHP-Block doch DIV-Container verwenden kann!), also dafür schon mal herzlichen Dank! :grin:

Ich brauche eher was um den Text frei positionieren zu können, werde es noch mal mit left und top probieren.

Wenn einer helfen kann, würde ich mich sehr freuen...

gruß ezz
 
Ja, das wars !!! Bedanke mich. Habe zwei Fehler gemacht:

1. left und top ohne position benutzt
2. Syntax-Fehler: " anstatt '


So geht es jetzt:

PHP:
echo '<div style="position:absolute;left:500px;top:100px;">Danke, jetzt funktionierts !!!</div>';

Danke nochmal, und werde zukünftig versuchen meine Beschreibungen zu verbessern. Hoffe ihr habt Verständnis für einen (noch)Laien...

Gruß ezz
 
noch ein kleiner Tipp für die Zukunft: mach' solche Sachen erstmal komplett ohne PHP in einer HTML-Datei und schieb' und bastel solange mit hartcodierten Werten rum, bis das Ergebnis das ist, was Du haben möchtest.
Diesen Code überführtst Du dann in PHP.
Wenn danach wieder 'was anders ist, hast Du einen PHP-Fehler, aber keinen HTML-Fehler und weißt schonmal grundsätzlich, wo der Fehler ist...
 
Zurück
Oben