| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

18-08-2009, 12:54
|
|
veil
Registrierter Benutzer
|
|
Registriert seit: Aug 2009
Beiträge: 59
|
|
Formular mit PHP Skripte verbinden
Hallo an alle,
ich habe ein kleines Problem. Ich möchte über ein Formular eine Suchabfrage in einer Datenbank ausführen. Dazu gibt es zwar schon reichlich Themen und Skripte im Internet, aber leider funktionieren diese alle bei mir nicht.
Wie verbindet man denn das Formular richtig mit dem PHP-Skript ?
Ich möchte idealerweise nach mehreren Begriffen in allen Feldern der Datenbank suchen.
Dort wo die Begriffe vorkommen sollen die Daten aus allen Feldern ausgegeben werden. Ich möchte auch gerne mit " LIKE" suchen lassen,
wenn das geht.
Ich habe hier ein Beispiel, bei dem ich nur "Errors" bekomme:
<head>
<title>Datenbank Suchfunktion</title>
</head>
<body>
<p>Datenbank Suchfunktion!</p>
<form method="POST" action="suchen.php">
<p>Bitte nur den Suchbegriff hier eingeben!<br>
<input type="text" name="suchbegriff" size="20"></p>
<p><input type="submit" value="Absenden" name="Absenden"></p>
</form>
</body>
</html>
<?php
$db_host = "localhost";
$db_user = "root";
$db_pass = "";
$db_name = "testdatenbank";
$suche = $_POST['suchbegriff'];
// Verbindung oeffnen und Datenbank ausweahlen
$conID = mysql_connect( $db_host, $db_user, $db_pass ) or die( "Die Datenbank konnte nicht erreicht werden!" );
if ($conID)
{
mysql_select_db( $db_name, $conID );
}
$daten = mysql_query('SELECT * FROM `testtabelle` WHERE `vorname`=\''.$suche.'\'' , $conID);
while($row=mysql_fetch_array($daten))
{
echo $row['vorname'];
}
?>
</body>
</html>
Kann mir da jemand helfen ?
Geändert von veil (18-08-2009 um 12:56 Uhr)
Grund: fehler
|

18-08-2009, 12:59
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Hallo,
Zitat:
Zitat von veil
Kann mir da jemand helfen ?
|
Normalerweise nur, wenn die Fehlermeldung(en) auch benannt werden. Niemand hat Lust, selbst Parser zu spielen. Ich rate außerdem dringend zur Benutzung von mysql_real_escape_string!
Gruß,
Anja
|

18-08-2009, 13:05
|
|
veil
Registrierter Benutzer
|
|
Registriert seit: Aug 2009
Beiträge: 59
|
|
Hallo Anja,
sorry es kommt gar keine Fehlermeldung, es wird nur die .php-seite geladen auf der das ergebnis eigentlich ausgegeben werden soll.
eine leere seite....
Was meonst du denn mit mysql_real_escape_string ?
|

18-08-2009, 13:09
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Dann schau doch bitte mal in den Error Logs nach, vielleicht ist ja nur display_errors ausgeschaltet. Andernfalls werden vielleicht nur keine Ergebnisse gefunden. Immerhin vergleichst du noch mit = und nicht mit LIKE.
Damit meine ich, dass du das in der PHP Doku nachschlagen und verwenden solltest, sonst kann jeder Anfänger deine Seite hacken. Stichwort: SQL injection
Geändert von AmicaNoctis (18-08-2009 um 13:12 Uhr)
|

18-08-2009, 13:09
|
|
PHP-Desaster
PHP Expert
|
|
Registriert seit: Mar 2006
Beiträge: 3.104
|
|
OffTopic: Anstelle der ganze COLOR-Tags kannst du auch einfach das PHP-Tag verwenden 
|

18-08-2009, 13:33
|
|
veil
Registrierter Benutzer
|
|
Registriert seit: Aug 2009
Beiträge: 59
|
|
Dieses mysql_real_escape_string kann ich nicht. Ich wäre ersteinmal
froh wenn die Suche überhaupt funktioniert.
Wo schalte ich den display_errors ein ?
|

18-08-2009, 13:44
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von veil
Dieses mysql_real_escape_string kann ich nicht.
|
Das hab ich vermutet, deswegen solltest du es dir ja auch ansehen
Zitat:
Zitat von veil
Wo schalte ich den display_errors ein ?
|
In der php.ini, aber ich würde es aus lassen, es sei denn, du arbeitest auf deinem ganz privaten Testserver. Die Fehler findest du entweder in logs/error.log von Apache oder im syslog (Unix) oder im Windows Event Log oder in der Datei, die in der php.ini als error_log angegeben ist.
|

18-08-2009, 13:54
|
|
veil
Registrierter Benutzer
|
|
Registriert seit: Aug 2009
Beiträge: 59
|
|
Mh, dieses Fach-Chinesisch verstehe ich leider nicht.
Ich möchte eigentlich nur wissen, was an dem Code fehlerhaft ist.
|

18-08-2009, 14:24
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Der Code sieht syntaktisch richtig aus, daher kann dir das ohne konkrete Fehlermeldung niemand sagen. Von Fachchinesisch waren wir auch weit entfernt, das sind alles noch sehr grundlegende Dinge gewesen. Ich vermute, es liegt an deiner PHP Installation, aber ohne deine Mitarbeit wird das wohl nicht rauszufinden sein.
|

18-08-2009, 14:30
|
|
veil
Registrierter Benutzer
|
|
Registriert seit: Aug 2009
Beiträge: 59
|
|
Es kommt keine Fehlermeldung. Es erscheint nur die leere .php-Seite auf der
das Ergebnis zu sehen sein sollte...
|

18-08-2009, 14:43
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
So weit waren wir schon. Das muss aber nicht heißen, dass keine Fehler aufgetreten sind. Die können - je nach Konfiguration - auch woanders hingeschrieben werden. Deswegen wäre es toll gewesen, wenn du an den besagten Stellen einfach mal so nachgesehen hättest.
Hast du mal einen Vornamen in das Suchfeld eingegeben, den es in der Datenbank definitiv (und exakt so geschrieben) gibt? Bisher hast du nämlich noch nicht bekannt gegeben, dass du jetzt mit LIKE suchen würdest. Nicht, dass du immer nur "Wil" eingibst, um "Wilfried" zu finden. Das sind alles so Sachen, die uns helfen könnten, dir zu helfen. Wir können nur das wissen, was du uns wissen lässt.
|

18-08-2009, 14:43
|
|
veil
Registrierter Benutzer
|
|
Registriert seit: Aug 2009
Beiträge: 59
|
|
Hat nicht jemand schon solch ein funktionierendes Skript ?
Ich kann nicht verstehen, dass solch ein simples Skript soviele Probleme
bereiten kann.
|

18-08-2009, 14:45
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von veil
Hat nicht jemand schon solch ein funktionierendes Skript ?
Ich kann nicht verstehen, dass solch ein simples Skript soviele Probleme
bereiten kann. 
|
Ich auch nicht, darum (und weil du gesagt hast, du hast schon so viele Skripte erfolglos ausprobiert) kam ich zu der Vermutung, dass es an deiner Installation liegen könnte.
|

18-08-2009, 14:49
|
|
veil
Registrierter Benutzer
|
|
Registriert seit: Aug 2009
Beiträge: 59
|
|
Was für eine Installation meinst Du denn ?
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|