Validierung FreeTestFeld (an welche List schicken)

Hallo, ich will ein FreeTextFeld gegen den Inhalt einer externen Datenbank validieren. Folgender Code funktioniert aber nicht: # -- # CustomerMessageNew.dtl - provides HTML form for customer message # Copyright (C) 2001-2006 OTRS GmbH, http://otrs.org/ # -- # $Id: CustomerTicketMessage.dtl,v 1.5 2006/10/12 10:16:00 martin Exp $ # -- # This software comes with ABSOLUTELY NO WARRANTY. For details, see # the enclosed file COPYING for license information (GPL). If you # did not receive this file, see http://www.gnu.org/licenses/gpl.txt. # -- <!-- start form --> <script language="JavaScript" type="text/javascript"> <!-- function findserial($seriennr) { <?php $db = mysql_connect("localhost", "user", "password"); $sqlab = "select seriennr, ipadress, hostname, betreutbis form plus700"; $sqlab .= " where seriennr like '$seriennr' "; $res = mysql_db_query("otrsPlus700", $sqlab); $num = mysql_num_rows($res); echo "$num" if ($num==0) return False; for ($i=0; $i<$num; $i++) { $sn = mysql_result($res, $i, "seriennr"); echo "$sn" document.compose.TicketFreeText1.value = $sn; } mysql_close($db); return True; ?> } function submit_compose() { if (document.compose.Subject.value == "") { alert('$JSText{"A message should have a subject!"}'); document.compose.Subject.focus(); return false; } else if (document.compose.Body.value == "") { alert('$JSText{"A message should have a body!"}'); document.compose.Body.focus(); return false; } else { if findserial(document.compose.TicketFreeText1.value) return true; else return false; } } //--> </script> <table border="0" width="100%" cellspacing="0" cellpadding="3" cols="1"> <tr> <td class="mainhead"> $Env{"Box0"}$Text{"new ticket"}$Env{"Box1"} </td> </tr> <tr> <td class="mainbody"> <br> <table border="0" width="680" align="center" cellspacing="0" cellpadding="4"> <tr> <td colspan="2" class="contenthead">$Text{"Options"}</td> </tr> <tr> <td class="contentbody">

Hi, Mir ist nicht so ganz klar, was nun die Funktion sein soll. Du gleichst die Daten mit der Datenbank ab, soweit ok. Wie soll das Ergebnis dann ausgegeben werden? Ich habe hier selbst einen Button hinter ein Freetext-Feld gesetzt, mit dem ein kleines Pop-Up aufgerufen wird, das den Eintrag im Freetxt-Feld mit einer Datenbank abgleicht und eventuelle Treffer inkl. entsprechender Details in einer Tabelle ausgibt. Das Gerundgerüst davon sieht so aus (Disclaimer: vorsicht, keine höhere Programmierkunst): <?php $db = mysql_connect(localhost, test, passwort); $sqlab = "SELECT sn, typ, projekt_na, kunden_nr, projekt_nr, projekt_na, aus_datum, s_version, s_datum FROM serien"; $sqlab .= " WHERE kunden_nr like '$cid%'"; $res = mysql_db_query("test", $sqlab); $num = mysql_num_rows($res); if ($num==0) echo "keine passenden Datensaetze gefunden"; echo "<html>\n<body>\n<table border=1> <tr> <th>Kundennummer</th> <th>Projektnummer</th> <th>Projektname</th> <th>SN</th> <th>Typ</th> <th>Auslieferungsdatum</th> <th>Software-Version</th> <th>Software-Datum</th> </tr>"; for ($i=0; $i<$num; $i++) { $kn = mysql_result($res, $i, "kunden_nr"); $pr = mysql_result($res, $i, "projekt_nr"); $pn = mysql_result($res, $i, "projekt_na"); $sn = mysql_result($res, $i, "sn"); $ty = mysql_result($res, $i, "typ"); $ad = mysql_result($res, $i, "aus_datum"); $sv = mysql_result($res, $i, "s_version"); $sd = mysql_result($res, $i, "s_datum"); echo "<tr><td>$kn</td><td>$pr</td><td>$pn</td><td>$sn</td><td>$ty</td><td>$ad</td><td>$sv</td><td>$sd</td></tr>"; } echo "</table>"; mysql_close($db); ?> Gruß, Laura -----Ursprüngliche Nachricht----- Von: otrs-de-bounces@otrs.org [mailto:otrs-de-bounces@otrs.org] Im Auftrag von Ukohfink Gesendet: Montag, 15. Januar 2007 14:28 An: otrs-de@otrs.org Betreff: [otrs-de] Validierung FreeTestFeld (an welche List schicken) Hallo, ich will ein FreeTextFeld gegen den Inhalt einer externen Datenbank validieren. Folgender Code funktioniert aber nicht: # -- # CustomerMessageNew.dtl - provides HTML form for customer message # Copyright (C) 2001-2006 OTRS GmbH, http://otrs.org/ # -- # $Id: CustomerTicketMessage.dtl,v 1.5 2006/10/12 10:16:00 martin Exp $ # -- # This software comes with ABSOLUTELY NO WARRANTY. For details, see # the enclosed file COPYING for license information (GPL). If you # did not receive this file, see http://www.gnu.org/licenses/gpl.txt. # -- <!-- start form --> <script language="JavaScript" type="text/javascript"> <!-- function findserial($seriennr) { <?php $db = mysql_connect("localhost", "user", "password"); $sqlab = "select seriennr, ipadress, hostname, betreutbis form plus700"; $sqlab .= " where seriennr like '$seriennr' "; $res = mysql_db_query("otrsPlus700", $sqlab); $num = mysql_num_rows($res); echo "$num" if ($num==0) return False; for ($i=0; $i<$num; $i++) { $sn = mysql_result($res, $i, "seriennr"); echo "$sn" document.compose.TicketFreeText1.value = $sn; } mysql_close($db); return True; ?> } function submit_compose() { if (document.compose.Subject.value == "") { alert('$JSText{"A message should have a subject!"}'); document.compose.Subject.focus(); return false; } else if (document.compose.Body.value == "") { alert('$JSText{"A message should have a body!"}'); document.compose.Body.focus(); return false; } else { if findserial(document.compose.TicketFreeText1.value) return true; else return false; } } //--> </script> <table border="0" width="100%" cellspacing="0" cellpadding="3" cols="1"> <tr> <td class="mainhead"> $Env{"Box0"}$Text{"new ticket"}$Env{"Box1"} </td> </tr> <tr> <td class="mainbody"> <br> <table border="0" width="680" align="center" cellspacing="0" cellpadding="4"> <tr> <td colspan="2" class="contenthead">$Text{"Options"}</td> </tr> <tr> <td class="contentbody">
participants (2)
-
Ohrndorf, Laura
-
Ukohfink