Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

html-Tags in PHP echo ausgeben

Empfohlene Antworten

Veröffentlicht

Hallo Leute,

ich versuche gerade eine mehrsprachige Webseite zu erstellen, nun jedoch bin ein bisschen überfordert.:D

Ziel:

Ich habe Deutsche Texte und Türkische Texte in eine Datenbank abgelegt und jetzt will ich die Texte aus der Datenbank abrufen. Den Aufruf-Befehl für die Sprache habe ich in einer anderen Datei und das habe ich auch included

<?php include_once('../../kr/script/php/lang.inc.php');?>
<form action="<?php echo $_SERVER['PHP_SELF']."?id=175&L=".$_GET['L']; ?>" method="post">
<input class="h_search_value" name="searchvalue" id="searchvalue" onfocus="javascript:void(document.getElementById('searchvalue').value='');" type="text" value="search" />
<input class="h_search_button" name="search" type="submit" value="search" />
</form>
[/PHP]

Problemfall:

wenn ich das in ein echo packe, dann wird die Seite nicht mehr angezeigt.

Kann mir da jemand helfen !!!

Bearbeitet von EmrahKilic

der include-pfad stimmt und wird ausgwertet?

stell doch mal das error_reporting auf E_ALL, dann sollte im fehlerfall in dieser zeile ein fehler aufscheinen.

steht im quelltext irgendetwas oder werden tatsächlich 0 bytes an den client ausgeliefert?

was gibt ein phpinfo() aus, wenn du es an das ende der seite hinzufügst?

$_GET und $_SERVER sollten hier einige inhalte liefern.

s'Amstel

das include ist korrekt.

Ich habe das mal so gemacht.

<?php include_once('fileadmin/templates/krankenreise2/script/php/lang.inc.php');?>
<form action="<?php echo $_SERVER['PHP_SELF']."?id=175&L=".$_GET['L']; ?>" method="post">
<input class="h_search_value" name="searchvalue" id="searchvalue" onfocus="javascript:void(document.getElementById('searchvalue').value='');" type="text" value="search" />
<input class="h_search_button" name="search" type="submit" value="<?php echo trans(4).''.trans(12);?>" />
</form>
[/PHP]

dann bekomme ich diese Fehlermeldung auf dem Submit-Button:

Warning</b>: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in <b>\..\..\..\..\templates\krankenreise2\script\php\lang.inc.php</b> on line <b>19</b><br />

<br />

aber der Fehler kann nicht da dran liegen, weil es in anderen Dateien keine Probleme damit gab.

Warning</b>: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in <b>\..\..\..\..\templates\krankenreise2\script\php\lang.inc.php</b> on line <b>19</b><br />

<br />

Zeig mal den SQL der in Zeile 19 der lang.inc.php ausgefuehrt wird.

was mir bei deimem FORM auffaellt. du sagst method="post" haengst aber GET variablen dran, das kann gehn muss aber nicht.

wenn ich das in ein echo packe, dann wird die Seite nicht mehr angezeigt.

was genau packst du denn in echo?

Zeile 16-20

function trans($id=0, $lang=0) {
if(!$lang) $lang = $_GET['L'];
$sql = 'SELECT trans FROM trans2 WHERE id='.$id.' AND lang='.$lang;
$res = mysql_fetch_assoc(mysql_query($sql));
return $res['trans'];
}
[/PHP]

was genau packst du denn in echo?

ich meinte damit eigentlich das ich in den value vom Submit ein echo schreibe, sorry.... !

ich glaube der fehler liegt an deiner funktion

if(!$lang) $lang = $_GET['L'];

die bedingung ist immer erfuellt wenn du keine lang uebergibst

denn 0 == false

wenn du nun dein Formular per POST abschickst is $_GET['L'] aber leer und deswegen kommt der SQL fehler zu stande


$res = mysql_fetch_assoc(mysql_query($sql)); [/PHP]

änder den code mal in:

[PHP]$query = mysql_query($sql) or die("sql: " . $sql . "error: ".mysql_error());
$res = mysql_fetch_assoc($query);

und ich bin mir ziemlich sicher das dein SQL nachher

'SELECT trans FROM trans2 WHERE id=43 AND lang='

so aussieht.

Ich habs geschafft :D !

Der Fehler lag da dran, dass ich keine DB verbindung gemacht habe.

was mir bei deimem FORM auffaellt. du sagst method="post" haengst aber GET variablen dran, das kann gehn muss aber nicht.

Doch, das geht. Umgekehrt, wenn man get als Methode nimmt, _dann_ kann man keine Parameter an die URL hängen.

Doch, das geht. Umgekehrt, wenn man get als Methode nimmt, _dann_ kann man keine Parameter an die URL hängen.

ah ok.. wieder was gelernt.

schoen und leserlich find ich es trotzdem nicht :P

Leute ich muss euch leider entäuschen... Ich habe heute bemerkt das der Fehler nicht nur an DB-Verbidung liegt, sondern auch an dem URL pfad.

wenn ich localhost/portal aufrufe dann bekomme ich einen SQL-Bug.

Aber wenn der URL Pfad so http://localhost/portal/index.php?id=122&msg=&L=3 aufgerufen wird dann funtz es 'no problemo'.

hhhmmmm.... Jetz meine Frage: Wie kann ich es so machen das auch mit localhost/portal klappt.:confused:

hhhmmmm.... Jetz meine Frage: Wie kann ich es so machen das auch mit localhost/portal klappt.:confused:

Les dir meinen Post oben noch einmal durch. Dadrin steht erklaert wieso du jedes mal einen SQL fehler bekommst.

Wie lautet der "SQL-Bug"?

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.