Fahrtenbuch genial!
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 14.04.2005, 13:50   #1
TP-Moderator
 
Benutzerbild von skipperjan
 
Registriert seit: Jan 2005
Ort: Düsseldorf
skipperjan ist ein richtiges Arbeitstier - DANKEskipperjan ist ein richtiges Arbeitstier - DANKEskipperjan ist ein richtiges Arbeitstier - DANKEskipperjan ist ein richtiges Arbeitstier - DANKEskipperjan ist ein richtiges Arbeitstier - DANKEskipperjan ist ein richtiges Arbeitstier - DANKE

Array Definition???????


Tach liebe gemeinde,

ich bin mal wieder ratlos. Ein für mich nicht reproduzierbarer Fehler, noch nicht, aber ich bin so langsam am Ende meines Lateins.

Also, ich habe da ein klenes Tool am Wickel, welches aus einem Formular die Daten entgegen nimmt, sie nach zwei schlüsslen sortiert, ein fdf draus bastelt und damit dann ein pdf-formular aufruft und befüllt. So hat der User den Vorteil, ein pdf Formular mit seinen versendeten Werten zum Ausdruck parat zu haben.

Das klappt soweit auch prima. Nur hab ich das Teil jetzt etwas freier gestalten wollen, die Formulare werden dynamisch zusammengebastelt und am Ende werden zwei Hiddens eingefügt. fields und options. Dort kommen kommagetrennt zum einen alle Feldnamen der Textfelder, hiddens und Textareas rein und zum anderen alle Feldnamen der Checkboxen und Radiobuttons. Anhand dieser Werte drösel ich die Datensätze auseinander, da diese im FDF Format eine andere Synthax erhalten.

Dazu werden 4 Arrays definiert und er lässt mich nicht ein leeres array() definieren, also etwas wie array = array() gibt einen Fehler, array=('start') geht (muss ja auch gehen), Warum?

Diese Arrays sind das Problem:
$values_fields = array();
$values_options = array();
$keys_fields = array();
$keys_options = array();

array('start') würde gehen aber das will ich ja gerne weglassen, aber kann es nicht?

Die Fehlermeldung:
Er mäkelt an, dass ein array mindestens ein Element haben müsste...........

Hier ein Beispiel Formular mit den Schlüsseln und Werten:
PHP-Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<
html>
<
head>
    <
title>HTML to PDF via FDF</title>
</
head>
<
body bgcolor="#f2f2f2">
<
form action="example_1_ea.php" method="post" name="fdf" id="fdf" target="_self">
Gib deinen Ersten Parameter ein:&nbsp;<input type="text" name="Feld_Text1">
<
br>
<
br>
Gib deinen zweiten Parameter ein:&nbsp;<input type="text" name="Feld_Text2">
<
br>
<
br>
Und auch ein Radiobutton kann befüllt werdenoder eine Checkbox:
<
br>Ja:&nbsp;<input type="radio" name="Radio_Button" value="Ja">
<
br>Nein&nbsp;<input type="radio" name="Radio_Button" value="Nein">
<
br>
<
br>
<
input type="checkbox" name="Check_Box1" value="Ja">&nbsp;Ich werde in Zukunft brav sein
<br>
<
input type="checkbox" name="Check_Box2" value="Ja">&nbsp;UND ich mache weiter wie bisher
<br>
<
br>
Und werte für eine Textarea:<br>
<
textarea cols="25" rows="5" name="TextArea1">Wo steht das?</textarea>
<
br>
<
input type="hidden" name="fields" value="Feld_Text1,Feld_Text2,TextArea1">
<
input type="hidden" name="options"value="Radio_Button,Check_Box1,Check_Box2">
<
input type="submit" name="submit" id="submit" value="submit">
</
form>
</
body>
</
html
Und die eigentliche verarbeitende Datei:

PHP-Code:
<?php
session_start
();
//FDF erzeugen, Funktion ist global einsetzbar, Formular ist piepegal
function create_fdf ($pdffile$strings$keys){

   
$fdf "%FDF-1.2\n%????\n";
   
$fdf .= "1 0 obj \n<< /FDF << /Fields [\n";
   foreach (
$strings as $key => $value){

       
$key addcslashes($key"\n\r\t\\()");
       
$value addcslashes($value"\n\r\t\\()");
       
$fdf .= "<< /T ($key) /V ($value) >> \n";
   }
   foreach (
$keys as $key => $value){

       
$key addcslashes($key"\n\r\t\\()");
       
$fdf .= "<< /T ($key) /V /$value >> \n";
   }

   
$fdf .= "]\n/F ($pdffile) >>";
   
$fdf .= ">>\nendobj\ntrailer\n<<\n";
   
$fdf .= "/Root 1 0 R \n\n>>\n";
   
$fdf .= "%%EOF";

   return 
$fdf;
}

if(
$_POST['submit']){
    
$fields explode(",",$_POST['fields']);
    
$optionsexplode(",",$_POST['options']);
    
$complete_form $_POST;
    
$values_fields = array();
    
$values_options = array();
    
$keys_fields = array();
    
$keys_options = array();
    
//Formular Wertepaar für wertepaar durchgehen und dem korrekten Typ zuordnen
    
foreach($complete_form as $k => $v){
        if(
in_array($k,$fields)){
            
array_push($keys_fields,$k);
            if(empty(
$v)) $v="keine Angabe";
            
array_push($values_fields,$v);
        }
        if(
in_array($k,$options)){
            
array_push($keys_options,$k);
            if(empty(
$v)) $v="keine Angabe";
            
array_push($values_options,$v);
        }
    }
// Textfelder
$strings array_combine($keys_fields$values_fields);

//Ceckboxen und Radio Buttons
$keys array_combine($keys_options$values_options);

//Pfad zum pdf Formular......................
$form 'http://localhost/fdf_pdf/Test_Formular.pdf';

// Jetzt noch schnell den korrekten Header schicken und gut ist
header('Content-type: application/vnd.fdf');

//Und das fdf erzeugen ->
echo create_fdf($form$strings$keys);
}
else echo
"Bitte erst zum Formular zurückkehren <a href='index.html' target='_self'>zurück --->></a>";
?>
Hat jemand eine Idee?

Thanx schonmal vorab,

skip
__________________
Chenaski - Klamotten designed by Pete
USE - nicht immer nur mit Stars and Stripes rumlaufen!

Hunde in der Großstadt: Guck mal wo ich fast reingetreten bin.....
skipperjan ist offline   Mit Zitat antworten


Alt 14.04.2005, 13:57   #2
TP-Supporter
 
Benutzerbild von Weede
 
Registriert seit: Jun 2004
Weede ist auf einem guten Weg
und du brauchst 0,1,2,3... wirklich extra?

aso. mal nachdenken ^^
__________________
Ich bin bereit, meinem Schöpfer gegenüberzutreten.
Ob mein Schöpfer ebenso bereit ist, diese Begegnung über sich ergehen zu lassen, ist eine andere Sache.
Weede ist offline   Mit Zitat antworten
Alt 14.04.2005, 13:59   #3
TP-Moderator
 
Benutzerbild von skipperjan
 
Registriert seit: Jan 2005
Ort: Düsseldorf
skipperjan ist ein richtiges Arbeitstier - DANKEskipperjan ist ein richtiges Arbeitstier - DANKEskipperjan ist ein richtiges Arbeitstier - DANKEskipperjan ist ein richtiges Arbeitstier - DANKEskipperjan ist ein richtiges Arbeitstier - DANKEskipperjan ist ein richtiges Arbeitstier - DANKE
???????

Wie meinen?

Öh,

Zahlen sind immer gut, vor allem auf Gehaltsabrechnungen aber ich verstehe nicht was du meinst?

so long,

skip
__________________
Chenaski - Klamotten designed by Pete
USE - nicht immer nur mit Stars and Stripes rumlaufen!

Hunde in der Großstadt: Guck mal wo ich fast reingetreten bin.....
skipperjan ist offline   Mit Zitat antworten
Alt 14.04.2005, 14:01   #4
TP-Supporter
 
Benutzerbild von Weede
 
Registriert seit: Jun 2004
Weede ist auf einem guten Weg
yo. war irgendwie auf falschem dampfer...

also als schnell-lösung würd ich vorschlagen, dass du beim ersten durchlauf der schleife, die werte dem array direkt zuweist, also ohne push. geht sicher schöner, nur komm ich grad nicht drauf ^^

oder den push wegläßt und es immer mit zuweisung machst.

dass der push ned geht, ist ja klar. hmm... wie macht man ein array auf "altmodische" weise in php? also mit der definition des typs vom inhalt? vllt geht es dann mit push
__________________
Ich bin bereit, meinem Schöpfer gegenüberzutreten.
Ob mein Schöpfer ebenso bereit ist, diese Begegnung über sich ergehen zu lassen, ist eine andere Sache.

Geändert von Weede (14.04.2005 um 14:05 Uhr).
Weede ist offline   Mit Zitat antworten
Alt 14.04.2005, 14:03   #5
TP-Moderator
 
Benutzerbild von skipperjan
 
Registriert seit: Jan 2005
Ort: Düsseldorf
skipperjan ist ein richtiges Arbeitstier - DANKEskipperjan ist ein richtiges Arbeitstier - DANKEskipperjan ist ein richtiges Arbeitstier - DANKEskipperjan ist ein richtiges Arbeitstier - DANKEskipperjan ist ein richtiges Arbeitstier - DANKEskipperjan ist ein richtiges Arbeitstier - DANKE

Ich Vollidiot!


Aber mal ehrlich,

man man man, na klar meckert er über ein leeres array wenn er damit array_combine() machen soll, nicht reproduzierbar war der Fehler, da ich mal mit und mal ohne angeklickte Checkboxen/ Radiobuttons getestet habe.

Mal gings mal nicht, lokal übrigens immer, da hab ich eine neuere php Version installiert. Des Rätsels Lösung:

PHP-Code:
if(!empty($keys_fields)){
$strings array_combine($keys_fields$values_fields);
}
//Ceckboxen und Radio Buttons
if(!empty($keys_options)){
$keys array_combine($keys_options$values_options);

Nur kombinieren wenn auch was da ist zum kombinieren, hmpf, wieder zwei Stunden verplemtpert.

Egal es klappt und ich bins zufrieden.

so long,

skip
__________________
Chenaski - Klamotten designed by Pete
USE - nicht immer nur mit Stars and Stripes rumlaufen!

Hunde in der Großstadt: Guck mal wo ich fast reingetreten bin.....
skipperjan ist offline   Mit Zitat antworten
Alt 14.04.2005, 14:06   #6
TP-Supporter
 
Benutzerbild von Weede
 
Registriert seit: Jun 2004
Weede ist auf einem guten Weg
ach, er meckert bei combine?
dachte bei push...
MUH!
__________________
Ich bin bereit, meinem Schöpfer gegenüberzutreten.
Ob mein Schöpfer ebenso bereit ist, diese Begegnung über sich ergehen zu lassen, ist eine andere Sache.
Weede ist offline   Mit Zitat antworten
Alt 14.04.2005, 14:10   #7
TP-Moderator
 
Benutzerbild von skipperjan
 
Registriert seit: Jan 2005
Ort: Düsseldorf
skipperjan ist ein richtiges Arbeitstier - DANKEskipperjan ist ein richtiges Arbeitstier - DANKEskipperjan ist ein richtiges Arbeitstier - DANKEskipperjan ist ein richtiges Arbeitstier - DANKEskipperjan ist ein richtiges Arbeitstier - DANKEskipperjan ist ein richtiges Arbeitstier - DANKE
Ja ja,

wie gesagt, sehr dämlich von mir, ich spiele ewig mit den arrays rum und siehe da, es liegt an was anderem, in der Fehlemeldung hat er zwei sachen ausgeworfen, 1. Array leer, 2. array_combine mit leeren arrays nicht möglich.

Da hätte ich auch früher drauf kommen können!

Was solls, nur komisch das er lokal immer alles prima macht und der Online-Server da etwas zickiger ist. Immer wieder schön mit diesen Versionsunterschieden,

so long,

skip
__________________
Chenaski - Klamotten designed by Pete
USE - nicht immer nur mit Stars and Stripes rumlaufen!

Hunde in der Großstadt: Guck mal wo ich fast reingetreten bin.....
skipperjan ist offline   Mit Zitat antworten
Alt 14.04.2005, 14:15   #8
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
das er sich anders verhält, liegt an der ini-Einstellung fürs Error-Reporting.

Setze in der php.ini einfach error_reporting auf E_ALL und Du bekommst mehr Meldungen, als Dir lieb sind
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist gerade online   Mit Zitat antworten
Alt 14.04.2005, 14:22   #9
TP-Moderator
 
Benutzerbild von skipperjan
 
Registriert seit: Jan 2005
Ort: Düsseldorf
skipperjan ist ein richtiges Arbeitstier - DANKEskipperjan ist ein richtiges Arbeitstier - DANKEskipperjan ist ein richtiges Arbeitstier - DANKEskipperjan ist ein richtiges Arbeitstier - DANKEskipperjan ist ein richtiges Arbeitstier - DANKEskipperjan ist ein richtiges Arbeitstier - DANKE
Nee,

das mache ich eh immer. Du kannst mir Glauben, das nicht ein einziger Fehler angezeigt wurde, da ich beim debuggen schön mit error_reporting unterwegs war. Dann fluchs rausgenaommen und online gespielt und nix geht mehr.

Schien sauber zu sein, nur hatte ich beim lokalen testen halt immer zufällig mit angeklickter Checkbox oder Radiobutton probiert, tse tse tse,

EJAHL, ENTWEDER ET KLAPPT ODER ET KLAPPT ZUSAMMEN

wie man bei uns im Rheinland sagt.

so long,
skip
__________________
Chenaski - Klamotten designed by Pete
USE - nicht immer nur mit Stars and Stripes rumlaufen!

Hunde in der Großstadt: Guck mal wo ich fast reingetreten bin.....
skipperjan ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
Array Definition??????? Array Definition???????
« SELECT mit NOT IN | Eine Art Lexikon erstellen?? »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:39 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67