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.

PHP Suchfunktion

Empfohlene Antworten

Veröffentlicht

Hallo zusammen

habe folgende Frage. Habe das folgende Script im Web gefunden funktioniert auch so weit, es ist ein Programm das meine Datenbank nach einem gewünschten Text durchsucht, jetzt wird das Ergebnis jedoch in dem selben Formular angezeigt, wie schaffe ich es, dass es in einem neuen Fenster angezeigt wird?

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Unbenanntes Dokument</title>

</head>

<body>

<p>

<?

//Formularfeld

echo " <form name=form1 method=post action='" .$_SERVER['PHP_SELF'] ."'>\n";

echo "<input class= formular name=suche type=text maxlenght=255 size=20 value='".$_POST['suche']."'>\n";

echo "<input class= formular type=submit name=Submit value='Suchen'>\n";

echo "\n\n</form>";

//Verbindung herstellen

$sqldatabase = mysql_connect("localhost","Andavos","andavos") or die('<b>#'.mysql_errno().':</b> '.mysql_error());

mysql_select_db(benutzer, $sqldatabase) or die('<b>#'.mysql_errno().':</b> '.mysql_error());

//Suche starten, Ergebnise ausgeben

$daten = mysql_query('SELECT * FROM `'.benutzer.'` WHERE `Benutzer`=\''.$_POST['suche'].'\'', $sqldatabase);

while($row=mysql_fetch_array($daten)){

echo $row['Benutzer'];

}

?>

</p>

</body>

</html>

...wie schaffe ich es, dass es in einem neuen Fenster angezeigt wird?

...

//Formularfeld

echo " <form name=form1 method=post action='" .$_SERVER['PHP_SELF'] ."'>\n";

...



<form name="form1" method="post" 

  action="neueSeite.php">


Action ist das, was vom Formular aufgerufen wird und wenn du da dich selbst aufrufst ($_SERVER['PHP_SELF']), wird natürlich wieder dasselbe Formular angezeigt.

EDIT:

Außer du machst in dem Skript noch ne Abfrage und entscheidest dann, was du anzeigst. Also die Sucheingabe oder das Ergebnis.

Die anführungszeichen im HTML-code wegzulassen geht meist, aber wenn dann nur in altem oder Quirks-Code. Du solltest dir angewöhnen das mit Anführungszeichen zu schreiben.

ich würde es so machen:

Zwar kein neues fenster, aber dennoch ein "leerer Bildschrirm"


<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Unbenanntes Dokument</title>
</head>

<body>
<p>
<?
if(!isset($_POST['Submit'])){
//Formularfeld
echo " <form name=form1 method=post action='" .$_SERVER['PHP_SELF'] ."'>\n";
echo "<input class= formular name=suche type=text maxlenght=255 size=20 value='".$_POST['suche']."'>\n";

echo "<input class= formular type=submit name=Submit value='Suchen'>\n";
echo "\n\n</form>";
}



//Verbindung herstellen
$sqldatabase = mysql_connect("localhost","Andavos","andavos") or die('<b>#'.mysql_errno().':</b> '.mysql_error());
mysql_select_db(benutzer, $sqldatabase) or die('<b>#'.mysql_errno().':</b> '.mysql_error());

//Suche starten, Ergebnise ausgeben
$daten = mysql_query('SELECT * FROM `'.benutzer.'` WHERE `Benutzer`=\''.$_POST['suche'].'\'', $sqldatabase);
while($row=mysql_fetch_array($daten)){
echo $row['Benutzer'];
}

?>
</p>
</body>
</html>[/PHP]

Du musst die action in deinem <form>-tag anpassen, also den Link zur Seite, die geöffnet werden soll, und zusätzlich target="_blank" einfügen, um ein neues Fenster zu öffenen.

<form ... action="http://link/zur/seite" target="_blank">

^^ So müsste es hinhauen ;)


switch($action) {
case "show" : {
//Verbindung herstellen
$sqldatabase = mysql_connect("localhost","Andavos","andavos") or die('<b>#'.mysql_errno().':</b> '.mysql_error());
mysql_select_db(benutzer, $sqldatabase) or die('<b>#'.mysql_errno().':</b> '.mysql_error());

//Suche starten, Ergebnise ausgeben
$daten = mysql_query('SELECT * FROM `'.benutzer.'` WHERE `Benutzer`=\''.$_POST['suche'].'\'', $sqldatabase);
while($row=mysql_fetch_array($daten)){
echo $row['Benutzer'];
}

}//case ende
break;
default : {
//Formularfeld
echo " <form name=form1 method=post action='" .$_SERVER['PHP_SELF'] ."&action=show'>\n";
echo "<input class= formular name=suche type=text maxlenght=255 size=20>\n";

echo "<input class= formular type=submit name=Submit value='Suchen'>\n";
echo "\n\n</form>";

}//default ende
}//switch ende
[/PHP]

ich vermute du möchtest die ergebnisse in einer eigenen seite angezeigt bekommen. wenn du ein neues fenster möchtest, dann benutze einfach target=_blank

Vielen Dank hat geklappt!

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.