Beitrag von Michael (450 Beiträge) am Montag, 4.Juni.2001, 18:31.
3. und letzter Versuch - Hilfe bei Templates?
hallo
kann hier wirklich niemand einem newcomer auf die sprünge helfen?
ich möchte eigene seiten für die suche, das listing und die Eingabe mit einer Datenbank verknüpfen.
ich komme einzig und allein nicht mit der verknüpfung klar.
wie erreiche ich z.b dass bei bei einer suche dann anschliessend das listformular mit dem entsprechenden ergebnis angezeigt wird.
ich bekomme es bislang nur hin, wenn suche und listing auf einer seite sind.
bei dem eingabeformular wäre mir am liebsten, wenn ich es direkt auf meiner homeoage hätte und von dort aus eingaben möglich wären.habe dazu den in der dokumentation beschriebenen weg ausprobiert, geklappt hat es allerdings nicht.
muss allerdings dazu sagen, dass ich vom programmieren nicht viel ahnnung habe:))
viele fragen ich weiss, kann mir jemand ein wenig unter die arme greifen?
danke im voraus....
Michael
Antworten
Beitrag von Sander (8133 Beiträge) am Montag, 4.Juni.2001, 18:43.
Re: 3. und letzter Versuch - Hilfe bei Templates?
Antworten
Beitrag von Michael (450 Beiträge) am Montag, 4.Juni.2001, 20:52.
Re: 3. und letzter Versuch - Hilfe bei Templates?
Hallo Sander,
vielen dank für deine tips.
Leider läuft das ganze immer noch nicht, obwohl ich denke, dass ich alles richtig gemacht habe. siehe auszugsweise html-code:
<FORM NAME="LAYOUTFORM" ACTION="http://baseportal.de/cgi-bin/baseportal.pl?htx=/MSK/list" METHOD=POST>
<INPUT TYPE=HIDDEN NAME="cmd" VALUE="search"><INPUT TYPE=HIDDEN NAME="range" VALUE="0,10"><INPUT TYPE=HIDDEN NAME="htx" VALUE="list">
<SELECT ID="Auswahlfeld1" NAME="Rubrik~=">
das ausgabeformular heisst list, die datenbank Contact.
das listfomular sieht auszugsweise so aus:
<do action=input>
<loop db=Contact sort^=-Rubrik range^=0,10 PLZ - Gebiet==$PLZ - Gebiet Rubrik==$Rubrik>
<font face="arial" size="1">
$Datum $EMail $WWW
</font><font face="arial" size="2"><br>
<h7>$Raum<h7><br>
<br>
$Text
<br><hr>
</loop>
kannst du mir sagen, woran es liegt?
sorry, wenn ich nerve, aber ich weiss echt nicht wo ich ansetzen soll.
danke im voraus.
Michael
Antworten
Beitrag von Sander (8133 Beiträge) am Montag, 4.Juni.2001, 22:58.
Re: 3. und letzter Versuch - Hilfe bei Templates?
Hier nervt niemand ;-)
enctype muß unbedingt angegeben werden, und bei den hidden muß ein = dahinter. wenn du über loop gehst, fällt das ~= bei der Suche weg - wird, glaube ich, nur von do action.. unterstützt. dafür aber =
<FORM NAME="LAYOUTFORM" ACTION="http://baseportal.de/cgi-bin/baseportal.pl?htx=/MSK/list" METHOD=POST enctype="multipart/form-data">
<INPUT TYPE=HIDDEN NAME="cmd=" VALUE="search"><INPUT TYPE=HIDDEN NAME="range=" VALUE="0,10"><INPUT TYPE=HIDDEN NAME="htx=" VALUE="list">
<SELECT ID="Auswahlfeld1" NAME="Rubrik=">
die Ausgabe:
nach den Suchwerten müsste Rubrik mit ~= abgefragt werden. Die Leerzeichen in Plz - .. werden nicht funzen, am besten ohne Sonder/Leerzeichen erstellen.
<loop db=Contact sort^=-Rubrik range^=0,10 PLZ - Gebiet==$PLZ - Gebiet Rubrik~=$Rubrik>
So ungefähr ;-)
Sander
Antworten
Beitrag von Michael (450 Beiträge) am Dienstag, 5.Juni.2001, 01:04.
Re: 3. und letzter Versuch - Hilfe bei Templates?
Hallo Sander,
danke hat super geklappt, kann jetzt direkt von meiner page die daten eingeben und abfragen, genau wie ich es wollte:))
übrigens, funktioniert trotz leerzeichen bei PLZ...habe den Pfad mit .../MSK/...angegeben.:))gute dokumentation!!!!
Aber jetzt habe ich noch eine oder zwei fragen:))))
wenn ich im titel der list nach einer abfrage einen bestimmte variable als titel ausgegeben haben möchte, wie mache ich das?
gut wäre es auch, wenn du mir noch sagen könntest, wie ich dann den ausdruck x von y datensätzen darstelle.
und letzte frage:))) wenn ich erreichen will, dass ein datensatz sobald ein bestimmtes feld leer ist, gelöscht wird, wie stelle ich das an?
thanks a lot:))
michael
Antworten
Beitrag von Sander (8133 Beiträge) am Dienstag, 5.Juni.2001, 08:28.
Re: 3. und letzter Versuch - Hilfe bei Templates?
Antworten
Beitrag von Michael (450 Beiträge) am Dienstag, 5.Juni.2001, 13:34.
Re: 3. und letzter Versuch - Hilfe bei Templates?
Hallo Sander,
vielen, vielen dank, 1. u 2. funzen hervorragend:)))
zu 3. genau, wenn jemand z.b. keinen texteintrag macht, soll der datensatz direkt gelöscht werden.
hast du dazu auch eine idee??:))
thanks
michael
Antworten
Beitrag von Sander (8133 Beiträge) am Dienstag, 5.Juni.2001, 13:52.
Re: 3. und letzter Versuch - Hilfe bei Templates?
Antworten
Beitrag von Michael (450 Beiträge) am Dienstag, 5.Juni.2001, 14:20.
Re: 3. und letzter Versuch - Hilfe bei Templates?
hallo sander,
du bist echt ok, klappt einwandfrei.
nur ein kleines problem, wie ereeiche ich jetzt, dass bei einer korrekten eingabe ein beliebiger text und bei einer falschen eingabe der andere text angezigt wird?
und noch was? ist es möglich weitere felder gleichzeitig so zu kontrollieren, wie muss ich dann bei perl weitermachen?
sorry, du weisst ja, kenn mich da echt nicht gerade toll aus.:((
danke
michael
Antworten
Beitrag von Sander (8133 Beiträge) am Dienstag, 5.Juni.2001, 14:32.
Re: 3. und letzter Versuch - Hilfe bei Templates?
für mehrere Machen wir es anders:
<perl>
$msg="Sie haben keinen... eingegeben." if ($_put{Feldname1} eq "");
$msg=$msg." Sie haben keinen... eingegeben." if ($_put{Feldname2} eq "");
$msg=$msg." Sie haben keinen... eingegeben." if ($_put{Feldname3} eq "");
usw
$msg=$msg."Bitte gehen Sie zurück und holen Sie dies nach";
if ($msg eq "")
{
put undef,"contact";
$msg="Daten wurden gespeichert. Vielen Dank für Ihren Eintrag"; # Hier kannst du beliebigen Text einfügen
}
out "$msg";
die Feldnamen mußt du noch einfügen und eventuell noch erweitern.
Sander
Antworten
Beitrag von Michael (450 Beiträge) am Dienstag, 5.Juni.2001, 15:17.
Re: 3. und letzter Versuch - Hilfe bei Templates?
hallo sander
funzt leider nicht ganz. die abrage läuft, dh, wenn ich eines der felder nicht eingebe, dann kommt die entsprechende fehlermeldung, gebe ich alles ein, kommt aber "bitte gehen sie zurück...." und der eintrag wird nicht übernommen???
<html>
<head>
</head>
<body><font face ="arial" font size = 2>
<p><perl>
$msg="Sie haben keinen Raum eingegeben." if ($_put{Raum} eq "");
$msg=$msg." Sie haben keine EMailadresse eingegeben." if ($_put{EMail} eq "");
$msg=$msg." Sie haben keinen Text eingegeben." if ($_put{Text} eq "");
$msg=$msg."Bitte gehen Sie zurück und holen Sie dies nach.";
if ($msg eq "")
{
put undef,"Contact";
$msg="Daten wurden gespeichert. Vielen Dank für Ihren Eintrag";
}
out "$msg";
</perl></font>
</p>
<body>
</html
ich krieg noch die krise:))))
michael
Antworten
Beitrag von Sander (8133 Beiträge) am Dienstag, 5.Juni.2001, 15:27.
Re: 3. und letzter Versuch - Hilfe bei Templates?
Antworten
Beitrag von Michael (450 Beiträge) am Dienstag, 5.Juni.2001, 15:46.
Re: 3. und letzter Versuch - Hilfe bei Templates?
hallo sander
einsame klasse, läuft wie am schnürchen:)) so langsam kapiere ich auch was, dank dir!!!
darf ich nochmal nerven:)))
ich habe mir aus einem gästebuch ein stück code rausgeholt, funktioniert auch alles soweit.
nur ein problem, wenn ich eine abfrage mache, dann zeigt mir die listseite zwar das richtige ergebnis an, aber der link auf die nächste seite ist aktiviert, auch wenn das ergebnis bspw. nur 2 einträge bei einer range von 10 zeigt. kann man das unterbinden, quasi den link nur dann aktivieren, wenn die range von 10 überschritten wird?? angezeigt werden kann er ja, nur eben ohne link....
wäre toll, wenn du mir hier auch noch einen tip geben könntest...vielleicht hast du ja lust und zeit dazu:)))
ich schau heute am späteren abend nochmal rein..muss noch was tun:)))
get "Id==0","Contact";
my $newrange=$_range+$_range_length;
my $oldrange=$_range-$_range_length;
$oldrange=0 if $oldrange<0 && $oldrange>-$_range_length;
out "<p align=center>";
out " <font size=-1>";
if ($oldrange>=0) {
out " [ <a href=\"$_link&range=$oldrange,$_range_length\">Vorherige Seite</a> ] ";
} else {
out " [ Vorherige Seite ] ";
}
out " [ <a href=\"http://baseportal.de/cgi-bin/baseportal.pl?htx=/MSK/Guestbook/add\">Eintrag hinzufügen</a> ]";
if ($newrange<$_amount_all) {
out " [ <a href=\"$_link&range=$newrange,$_range_length\">Nächste Seite</a> ]";
} else {
out " [ Nächste Seite ]";
}
out " </font>";
out "</p>";
thanks a lot
michael
Antworten
Beitrag von Sander (8133 Beiträge) am Dienstag, 5.Juni.2001, 18:34.
Re: 3. und letzter Versuch - Hilfe bei Templates?
hat das get am Anfang was zu bedeuten? Hier wird immer der erste Ds geholt, dadurch wird der Link immer angezeigt, weil die Bedingungungen immer wahr sind und es immer einen 2ten Ds gibt. Normal unter Loop sollte er funzen.
Sander
Antworten
Beitrag von Michael (450 Beiträge) am Dienstag, 5.Juni.2001, 23:50.
Re: 3. und letzter Versuch - Hilfe bei Templates?
hallo sander,
also ich habe das get rausgeworfen, das problem ist jedoch unverändert.
wenn ich eine abfrage mache, die beispielsweise 2 ds richtigerweise als ergebnis auswirft, kann man über diesen link dann auf eine seite gehen, wo wieder alles ds angezeigt werden, was ja unsinnig ist.
<perl>
"Contact";
my $newrange=$_range+$_range_length;
my $oldrange=$_range-$_range_length;
$oldrange=0 if $oldrange<0 && $oldrange>-$_range_length;
out "<p align=center>";
out " <font size=-1>";
if ($oldrange>=0) {
out " [ <a href=\"$_link&range=$oldrange,$_range_length\">Vorherige Seite</a> ] ";
} else {
out " [ Vorherige Seite ] ";
}
out " [ <a href=\"http://baseportal.de/cgi-bin/baseportal.pl?htx=/MSK/Guestbook/add\">Eintrag hinzufügen</a> ]";
if ($newrange<$_amount_all) {
out " [ <a href=\"$_link&range=$newrange,$_range_length\">Nächste Seite</a> ]";
} else {
out " [ Nächste Seite ]";
}
out " </font>";
out "</p>";
</perl>
wenn du mal lust und laune hast:)))
danke dir
michael
Antworten
Beitrag von Michael (450 Beiträge) am Dienstag, 5.Juni.2001, 14:05.
Re: 3. und letzter Versuch - Hilfe bei Templates?
Hallo Sander,
vielen, vielen dank, 1. u 2. funzen hervorragend:)))
zu 3. genau, wenn jemand z.b. keinen texteintrag macht, soll der datensatz direkt gelöscht werden.
hast du dazu auch eine idee??:))
thanks
michael
Antworten