[GastForen Archiv Perl und CGI werte zuordnen (oder so)

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Archiv - Archivierte Foren
Themen
Beiträge
Moderatoren
Letzter Beitrag

werte zuordnen (oder so)

r a c
Beiträge gesamt: 955

17. Jun 2002, 20:12
Beitrag # 1 von 13
Bewertung:
(3240 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,
ich verstehe leider noch nichts von Perl.
Ich habe erst gerade ein Formular-Scribt installiert.
Nun mochte ich bei der Danke-Seite, die das Scribt ausgibt, einen der eingegebenen Werte zuordnen.
Kurz: Ich will das es Danke Hans, statt nur Danke sagt.

print "<b>Danke $Namefield[1]:</b><br><br><br><br>\n";

Es ordnen nun Namefield1=Vorname zu. Aber ich möchte den Wert von Vorname haben.

Wie mache ich das?
X

werte zuordnen (oder so)

r a c
Beiträge gesamt: 955

18. Jun 2002, 12:32
Beitrag # 2 von 13
Beitrag ID: #5517
Bewertung:
(3240 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Halllo
ich hab's selbst rausgefunden:

$in{$Namefield[1]}

gibt den wert des 1.namefied (statt nur den namen) aus.
Sorry, das ich mich in der Frage nicht so klahr ausdrücken konnte.



als Antwort auf: [#5463]

werte zuordnen (oder so)

SabineP
Beiträge gesamt: 7586

18. Jun 2002, 12:33
Beitrag # 3 von 13
Beitrag ID: #5519
Bewertung:
(3240 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat:
print "<b>Danke $Namefield[1]:</b><br><br><br><br>n";
Es ordnen nun Namefield1=Vorname zu. Aber ich möchte den Wert von Vorname haben.
Du meinst sicher allform.pl von xwolf.
Den Inhalt kannst Du so ausgeben:
print "<b>Danke $in{$Namefield[1]}</b>\n";

Grüße von Sabine


als Antwort auf: [#5463]

werte zuordnen (oder so)

SabineP
Beiträge gesamt: 7586

18. Jun 2002, 12:34
Beitrag # 4 von 13
Beitrag ID: #5520
Bewertung:
(3240 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das war ja fast gleichzeitig
Dummerweise klappts nur mit dem ersten Feld.
Ich schau noch mal nach, wie man jedes Feld einzeln ausgeben kann.

[ Diese Nachricht wurde geändert von: SabineP am 2002-06-18 12:36 ]


als Antwort auf: [#5463]

werte zuordnen (oder so)

r a c
Beiträge gesamt: 955

18. Jun 2002, 14:27
Beitrag # 5 von 13
Beitrag ID: #5536
Bewertung:
(3240 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke Sabine,
Ja es geht immer noch um allform.pl
Ich will nur ein Feld ausgeben (das habe ich schon angepasst). Im Scribt ist schon eine Seite vorgesehen, die alle Werte zurück gibt (da habe ich das $in gefunden), die gefällt mir aber nicht so gut.
Auf meinem eigenen print " ...html...";-erguss brauche ich nur einen Wert. Alles Bestens

Aber ganz restlos glücklich bin ich noch nicht. Weil ich in die .html Seite mit dem Formular einen hiddentag "mailto" und dann meine mailadresse angeben muss.
Bis jetzt habe ich alle mailto's maskiert (SPAM) und jetzt werde ich von allform überlistet.
Ich würde gerne:
<input type="hidden" name="mailto" value="1" border="0">
im Formular haben und dann im Scribt der 1 die Adresse zuordnen. So was macht es schon mit dem dateiname. Ich weiss noch nicht, ob ich so was einfach mit copie/past und ein wenig anpassen hinbringe.





als Antwort auf: [#5463]

werte zuordnen (oder so)

SabineP
Beiträge gesamt: 7586

18. Jun 2002, 15:34
Beitrag # 6 von 13
Beitrag ID: #5544
Bewertung:
(3240 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat:
Aber ganz restlos glücklich bin ich noch nicht. Weil ich in die .html Seite mit dem Formular einen hiddentag "mailto" und dann meine mailadresse angeben muss.
Das finde ich auch nicht so besonders gut.
Ich habe die Sache nun so gelöst:

Das hidden-Feld mit der E-Mail-Adresse aus dem Formular erstmal komplett löschen.

Die Zeile 72 in der allform.pl mit dem Gartenzaun auskommentieren

# $mailto=$in{'mailto'};

Ganz oben, wo die Variablen definiert werden die Variable $mailto hinzufügen, also ungefähr an dieser Stelle

$mailprog = '/usr/sbin/sendmail';
# The location of sendmail

$mailto= "name\@domain.de" ;

Jetzt klappt das ohne hidden-Feld im Formular.

Grüße von Sabine


als Antwort auf: [#5463]

werte zuordnen (oder so)

r a c
Beiträge gesamt: 955

18. Jun 2002, 16:45
Beitrag # 7 von 13
Beitrag ID: #5550
Bewertung:
(3240 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
funktioniert prima und ging ganz schnell!
Danke


als Antwort auf: [#5463]

werte zuordnen (oder so)

SabineP
Beiträge gesamt: 7586

18. Jun 2002, 19:45
Beitrag # 8 von 13
Beitrag ID: #5562
Bewertung:
(3240 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hab mich nochmal schlau gemacht bei oesi50 wie man die einzelnen Formularfelder ausgeben kann.
Wenn bei $in{$Namefield[1]} wirklich das erste Feld herauskommt, dann ist das reiner Zufall und nicht sicher. Ich hatte mir auch schon gedacht, daß da etwas nicht stimmt weil das mit dem zweiten Feld nicht geklappt hat.
So ist es richtig:
print "Danke $in{'Vorname'} $in{'Nachname'}\n";

Grüße von Sabine


als Antwort auf: [#5463]

werte zuordnen (oder so)

r a c
Beiträge gesamt: 955

19. Jun 2002, 15:03
Beitrag # 9 von 13
Beitrag ID: #5618
Bewertung:
(3240 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sabine,
Hab's gleich ausprobiert. Klappt sehr gut.

ps. Kann die Reihenfolge, wie die Variablen den Namefield's zugeordnet werden, beeinflusst werden?

Im Moment ist das alphabetisch. Könnte es auch die Reihenfolge sein, wie die Daten an's Scribt übergeben werden? So dass Namefield0 immer auch das erste Feld im Formular ist und so weiter. Es geht jetzt nicht mehr um die Danke-Seite, sondern das Mail, dass verschickt wird.


als Antwort auf: [#5463]

werte zuordnen (oder so)

SabineP
Beiträge gesamt: 7586

20. Jun 2002, 11:34
Beitrag # 10 von 13
Beitrag ID: #5679
Bewertung:
(3240 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo r a c,
ich habe jetzt mal die allform.pl so umgeschrieben, damit Du die Reihenfolge der Felder in der Mail selbst bestimmen kannst. Dazu muß ab Zeile 317 folgendes geändert werden:

# {print MAIL "$Namefield[$i] : $in{$Namefield[$i]}\n";}
{"$Namefield[$i] $in{$Namefield[$i]}\n";}

}
print MAIL "Vorname : $in{'Vorname'}\n";
print MAIL "Nachname : $in{'Nachname'}\n";
print MAIL "Mail : $in{'Mail'}\n";

print MAIL "------------------------------------------------------\n";
close (MAIL);
}
############################################################

Das Beispiel bezieht sich auf ein Formular mit den Feldnamen Nachname, Vorname und Mail. Grüße von Sabine


als Antwort auf: [#5463]

werte zuordnen (oder so)

r a c
Beiträge gesamt: 955

20. Jun 2002, 16:48
Beitrag # 11 von 13
Beitrag ID: #5709
Bewertung:
(3240 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sabine,
Danke für Deine Vorschlag. Ich benutze das Scribt für verschiedene Formulare, da kommt jedesmal "Nachname", "Vorname" und "e-mail" vor, aber auch noch anderes (jeweils unterschiedlich).

Meine Versuche bisher:
1) kleiner Beschiss mit "1 Nachname", "2 Vorname" etc. Das hat sehr gut funktioniert!!! Aber ich habe dann bei SELFHTML gelesen: keine Zahlen am Anfang, keine Leerzeichen. Schade. Aber ich möchte schon eine "saubere Lösung".
2) ich habe die Kodierung auf "multipart/form-data" eingestellt: Hatte keine sichbare Veränderung zu standart oder gar nichts.
3) ich habe bei 370
sub MakeNameField {
my ($out, $key);
$UseData =0;
$i=0;
foreach $key (sort keys(%in)) {
foreach (split("\0", $in{$key})) {
if (($key eq 'filename') || ($key eq 'bodytag')
|| ($key eq 'title') || ($key eq 'mailto')
|| ($key eq 'homelocation') || ($key eq 'url')
|| ($key eq 'needed_parameters')) {}
else {
$Namefield[$i++]=$key;
$Checkfield{$key}=0;
}
}
}
$UseData=$#Namefield + 1;
}

das "sort" rausgenommen. Das hat die Reihenfolge verändert, allerdings nicht wie gewünscht.
Ich suche also einen Befehl "sort_wie_es_reinkommt". Das müsste es doch geben?

und wenn doch, nicht bliebe noch
4) Dein Vorschlag, aber anschliesend noch print den rest, mit Ausnahmen. Etwa so:
print MAIL "------------------------------------------------------\n";

print MAIL "Vorname : $in{'Vorname'}\n";
print MAIL "Nachname : $in{'Nachname'}\n";
print MAIL "Mail : $in{'Mail'}\n";

for ($i=0;$i<=$#Namefield;$i++) {
if (($Namefield[$i] ne 'filename')
&& ($Namefield[$i] ne 'bodytag')
&& ($Namefield[$i] ne 'title')
&& ($Namefield[$i] ne 'mailto')
&& ($Namefield[$i] ne 'needed_parameters')
&& ($Namefield[$i] ne 'homelocation')
&& ($Namefield[$i] ne 'mailinfotext')
&& ($Namefield[$i] ne 'url'))
{print MAIL "$Namefield[$i] : $in{$Namefield[$i]}\n";}
}
print MAIL "------------------------------------------------------\n";
close (MAIL);
Dann wäre der Anfang schön sortiert und der Rest kommt halt irgendwie.

Am meisste hoffe ich auf einen anderen "sort"-Befehl. Ich müsste nur ein Wort ändern und alles wär Bestens.


als Antwort auf: [#5463]

werte zuordnen (oder so)

SabineP
Beiträge gesamt: 7586

20. Jun 2002, 18:47
Beitrag # 12 von 13
Beitrag ID: #5722
Bewertung:
(3240 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
!-- BBCode Quote Start -->
Zitat:
Meine Versuche bisher:
1) kleiner Beschiss mit "1 Nachname", "2 Vorname" etc. Das hat sehr gut funktioniert!!! Aber ich habe dann bei SELFHTML gelesen: keine Zahlen am Anfang, keine Leerzeichen. Schade. Aber ich möchte schon eine "saubere Lösung".
Dann verwende doch einfach für die Feldnamen:
avorname, bnachname, cmail, dirgendwas
oder
feld1, feld2, feld3, feld4
Das Skript sortiert die Felder nach dem Alphabet
Zitat:
Ich suche also einen Befehl "sort_wie_es_reinkommt".
Das müsste es doch geben?
Nein das gibts nicht. Die Felder und der Inhalt der Felder befinden sich in einem Hash. Das kannst Du Dir vorstellen wie eine Buchstabensuppe. Feldname und Inhalt kleben dabei jedoch noch zusammen.

Code:

print MAIL "------------------------------------------------------\n";
print MAIL "Vorname : $in{'Vorname'}\n";
print MAIL "Nachname : $in{'Nachname'}\n";
print MAIL "Mail : $in{'Mail'}\n";

for ($i=0;$i<=$#Namefield;$i++) {
if (($Namefield[$i] ne 'filename')
&& ($Namefield[$i] ne 'bodytag')
&& ($Namefield[$i] ne 'title')
&& ($Namefield[$i] ne 'mailto')
&& ($Namefield[$i] ne 'needed_parameters')
&& ($Namefield[$i] ne 'homelocation')
&& ($Namefield[$i] ne 'mailinfotext')
&& ($Namefield[$i] ne 'url'))
{print MAIL "$Namefield[$i] : $in{$Namefield[$i]}\n";}
}
print MAIL "------------------------------------------------------\n";
close (MAIL);



So erhältst Du mit Sicherheit einen Error 500.

Ich könnte ja dem xwolf mal eine Mail schicken.
Der Thread wird ihn vielleicht interessieren.
Möglicherweise hat er ja sogar noch einen Tip.

Grüße von Sabine


als Antwort auf: [#5463]

werte zuordnen (oder so)

r a c
Beiträge gesamt: 955

21. Jun 2002, 01:35
Beitrag # 13 von 13
Beitrag ID: #5735
Bewertung:
(3240 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sabine,
ich lass es!
Das ganze ist ja intern, nur ich seh das Mail.

Wenn ich die Felder so benenne, dass daraus eine Reihenfolge entsteht (wie feld1, feld2.... aNachname, bVorname, ce-mail...) nehme ich mir die Möglichkeit eine Feldprüfung mit dem Scribt zu machen. Die Feldnamen werden dann in der Fehlermeldung ausgegeben, was gegebenenfalls unschön aussehen könnte. So wäre es dann keine Verbesserung.

Nun ich kann damit gut leben.
Es läuft (das wichtigste!). Es gibt 'ne persönliche Danke-Seite aus (find ich toll).

Nochmals Danke
Grüsse r a c


als Antwort auf: [#5463]
X

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
14.05.2024

Online
Dienstag, 14. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Prozessoptimierung ist ein Teamsport! Keine Software und keine Maschine allein kann Ihnen helfen, die Effizienzpotenziale Ihres Betriebes maximal auszuschöpfen. Von der Auftragsannahme über die Vorstufe und den Druck bis hin zur Weiterverarbeitung – alles muss optimal ineinandergreifen. Apropos Weiterverarbeitung – in vielen Druckbetrieben fristet sie in Sachen Prozessoptimierung immer noch ein Schattendasein. Dabei liegen hier mittlerweile die größten Einsparpotenziale! In einem Webinar von Horizon und Impressed erfahren Sie, wie Sie diese Einsparungen realisieren können. Horizon, bekannt für innovative Lösungen in der Druckweiterverarbeitung, bietet mit iCE LiNK eine Workflowlösung für die Weiterverarbeitung. iCE LiNK überwacht, visualisiert und analysiert Produktionsabläufe und unterstützt bei der Wartung – damit immer alles reibungslos läuft. Den gleichen Anspruch hat der von Impressed entwickelte Impressed Workflow Server – er ist die smarte PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt. Im Webinar zeigen Ihnen die Experten von Horizon und Impressed, wie beide Lösungen im Team die Effizienz und Produktivität Ihres Betriebes steigern können. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Ja

Organisator: Impressed / Horizon

https://www.impressed.de/schulung.php?c=sDetail&sid=327

Einsparpotenziale in der Weiterverarbeitung
Veranstaltungen
16.05.2024

Online
Donnerstag, 16. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Günther Business Solutions und Impressed treten in einem Webinar den Gegenbeweis an. Experten beider Unternehmen zeigen, wie Großformatdrucker vom Einsatz zweier bewährter Lösungen profitieren können: • von advanter print+sign von Günther Business Solutions, dem ERP-System für den Großformatdruck, dass alle Phasen der Wertschöpfung im Large Format Printing abdeckt • von Impressed Workflow Server, der smarten PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt Über die Kombination beider Lösungen können Großformatdrucker ihre Prozesse mit modernen Workflows Schritt für Schritt automatisieren – und so zügig deutliche Zeit- und Kosteneinsparungen realisieren. Das Webinar sollten Sie sich nicht entgehen lassen – damit Sie keine Effizienzpotenziale mehr liegen lassen. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Nein

Organisator: Impressed / Günther Business Solutions

https://www.impressed.de/schulung.php?c=sDetail&sid=326

Und es geht doch: Automatisierung im Großformatdruck!