Textfelder vergleichen

Cemil

Erfahrenes Mitglied
Hallo,
habe 5 Textfelder und von diesen 5 sind 3 Optional, d.h. muss nicht unbedingt ausgefüllt sein. Aber falls jemand ein drittes Feld ausfüllt, dann soll das Programm den Inhalt der 3 Textfelder prüfen und wenn alle 3 Eingaben übereinstimmen soll das Programm das gesuchte ausgeben.
Die ersten 2 Textfelder funktionieren, aber ich weiss nicht, wie ich das ganze mit den Optional Feldern anstellen soll.

Ich hatte einiges mit empty, strcmp und der variable $teile versucht, aber erhalte immer die gleiche Warnmeldung:

Wrong parameter count for strcmp()

Hat irgendjemand eine Idee, wie das ganze aussehen könnte?

Grüsse

PHP:
<?php

error_reporting(E_ALL);

$verbindung = @mysql_connect("localhost", "blabla", "babibu123");

if (!$verbindung) {
	echo("<p>Verbindung zum Datenbankserver zur Zeit nicht möglich.</p>");
	exit();
}

if (!@mysql_select_db("motorendb")) {
	echo("<p>Auswahl der Datenbank zur Zeit nicht möglich.</p>");
	exit();
}

$ausgabe = @mysql_query("SELECT id,
							    marke,
								modell,
								teile,
								jahrgang,
								km,
								anfrage
						   FROM motoren
						  WHERE marke    LIKE '$marke' AND
						  		modell   LIKE '$modell' OR
								teile    LIKE '$teile'");

$anz = mysql_num_rows($ausgabe);

if (!$ausgabe) {
	echo ("<p>Fehler bei der Ausführung der Abfrage: " . mysql_error() . "</p>");
	exit();
}
?>
<?php
if($_SERVER['REQUEST_METHOD']!='POST') {
?>
<?php
} else {
if (empty($_POST['marke'])) {
	if (strcmp($marke) == 1) {
	echo("<table width='640' border='0' cellspacing='2' cellpadding='0'>");
	echo("<tr>");
	echo("<td><strong><span class='style2'>Bitte geben Sie eine Marke ein.</span></strong></td>");
	echo("</tr>");
	echo("</table>");
	exit();
}
}

if (empty($_POST['modell'])) {
	if (strcmp($modell) == 1) {
	echo("<table width='640' border='0' cellspacing='2' cellpadding='0'>");
	echo("<tr>");
	echo("<td><strong><span class='style2'>Bitte geben Sie einen Modell ein.</span></strong></td>");
	echo("</tr>");
	echo("</table>");
	exit();
}
}

if ($ausgabe > 0) {

if ($anz > 1) { $wortlaut = "wurden"; } else { $wortlaut = "wurde"; }
	echo("<table width='640' border='0' cellspacing='2' cellpadding='0'>");
	echo("<tr>");
	echo("<td><strong><span class='style2'>Mit Ihrer Suchabfrage $wortlaut $anz Treffer	gelandet.</span></strong></td>");
	echo("</tr>");
	echo("</table>");
?>
<?php
   
while ($reihe = mysql_fetch_array($ausgabe)) {
	echo("<tr>");
		echo("<td align='center'>" . $reihe["id"] . "</td><td>" . $reihe["marke"] . "</td><td>" . $reihe["modell"] . "</td>");
		echo("<td align='right'>" . $reihe["teile"] . "</td><td align='right'>" . $reihe["jahrgang"] . "</td><td align='right'>" . $reihe["km"] . "</td>");
		echo("<td>" . $reihe["anfrage"] . " oder <a href='mailto:cemil@cemil.ch'>E-Mail</a></td>");
	echo("</tr>");
}
}
}
?>
 
Hi!

Die Funktion strcmp erwartet zwei Parameter: nämlich die beiden Strings, die verglichen werden sollen.
Du übergibst allerdings nur einen. Daher die Fehlermeldung.

Mamphil
 
Zurück