Vergleich zwischen Eingabe von Telefonnummer mit telefonnummer in der Datenbank

Xching

Erfahrenes Mitglied
HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
	"http://www.w3.org/TR/html4/loose.dtd">
<html>

		<form action="reSearch.php" method="post">
			<p id="spalten"><input type="text" name="phon" size="40" maxlength="30" placeholder="Telefonnummer (mit Vorwahl)"/>
			<input type="submit" name="search" value="Suche" /></p>	
		</form>
	</fieldset>		
</form>
</body>
</html>
PHP:
<?php 


//Datenbank einbinden

define ( 'MYSQL_HOST', 'localhost' );
define ( 'MYSQL_BENUTZER', '' );
define ( 'MYSQL_KENNWORT', '' );
define ( 'MYSQL_DATENBANK', 'test' );

$db_link = mysqli_connect (MYSQL_HOST,
		MYSQL_BENUTZER,
		MYSQL_KENNWORT,
		MYSQL_DATENBANK
);
if ( ! $db_link )
{
die('keine Verbindung zur Zeit möglich - später probieren ');
}

// Prüfen ob, Registerdatenbank funktioniert und andere fehlgeschlagen in der Datenbank
$db_sel = mysql_select_db('test') or die("Auswahl der Datenbank fehlgeschlagen");

if($_POST['search'] == true){

  
 $telefon = $_POST['phone'];


//Die gesuchte Tel-Nr im SQL in den WEHRE Klausel-Bereich setzen

$abfrage = "SELECT * FROM telefonbuch WHERE Telefon LIKE '%$telefon%' ";
$db_erg = mysqli_query( $db_link, $abfrage);
if ( ! $db_erg )
{
die('Ungültige Abfrage: ' . mysql_error());
// Datenbamk schließen
mysql_close($link);    
// Programm beenden
exit; 
}
//Die gefundenen Adressen mittels einer Schleife ausgeben
//ich verwende hier mysqli

if  ($daten = mysqli_fetch_array( $db_erg, MYSQL_ASSOC))
{
	echo "<pre>";
	print_r ($daten);
	echo "</pre>"; 
}/*wenn gefunden wurde, wird es hier ausgegeben.*/

else{ 
echo "Es gibt keine Daten in der Datenbank";
}   
}
?>
 
Zuletzt bearbeitet:
Bevor ich den Code lesen.
Bitte definiere "hat nicht funktioniert"
Kommt eine Fehlermeldung?
Wie ist das Fehlverhalten?
 
ich bekomme gar keine Fehler meldung aber die Daten aus der Datenbank nach gesuchte Telefonnumer wird nicht angezeigt. ich habe die eingegeben telefonummer in dem Textfeld mit telefonummer aus der Datenbank vergleichen. könnte es vieleicht ein Fehler mit dem Vergleich?
 
Zuletzt bearbeitet:
Ich sehe gerade, Mit Tabulatoren formatieren ist Glücksache. Dem entsprechen das verstehen des Codes ebenfalls.

Aber dass nix kommt, wundert mich nicht. Du liest genau den ersten Eintrag aus der DB. Diesen vergleichst du mit der gesuchten Nummer. Wenn per Zufall die erste Nummer aus der DB der Gesuchten entspricht, dann machst du das Spiel gleich nochmals.

Sorry, dieser Code hat weder Formatierung noch Konzept.

Meine Tipps:
1) FORMATIEREN!
2) Die gesuchte Tel-Nr im SQL in den WEHRE-Bereich setzen
3) Die gefundenen Adressen mittels einer Schleife ausgeben
4) Von mysql_* auf mysqli_* wechseln.
 
Hallo Herr Yaslaw,

ich habe schon gemacht, wie sie mir ein Tipp gegeben haben, es hat auch funktiniert dann habe ich getestet, indem ich nicht vorhandene Telefonnummer mit telefonummer in der Datenbank gesucht habe , wird trotzdem die Daten aus der Datenbank ausgegeben
 
Im Forum sind wir alle per du.

Es ist schwer zu sagen was falsch geht, wenn wir die Umsetzung nicht sehen.
 
Dein Feld im Formular heißt "phon", im PHP-Script fragt Du aber "phone" ab.
So kannst Du nichts finden :)
Es hilft -auch aus anderen Gründen- immer, nochmal mit isset zu prüfen, bevor man Formulardaten an eine Varibale übergibt:
PHP:
if (isset($_POST['phone'])
{
 $telefon=$_POST['phone'];
}
else
{
// irgendeine Fehlerbehandlung
}
 
Zuletzt bearbeitet:
Zurück