Beiträge von kanufrosch

    Bin ja erstmal frph, das ich mein problem klarmachen konnte.


    Leider hatte ich diesen Ansatz auch schon, aber der funzt so auch nciht, denn dort geht mir die Relation zwischen dem Ersatz und dem original verlöoren, soll heißen:


    Habe ich für [1] keinen Ersatz, aber für [2] hat der Ersatz auch die [2], würde dann aber die [0] statt der [1] bekommen... Siehe:
    Original:



    Was raus kommt:


    Was rauskommen sollte:


    Leider ist das ein entscheidender Punkt...


    Hätte nicht gedacht, dass mir ausgerechnet dass so auf die Füße fällt...

    Naja, Code hilft hier nciht so wirklich viel, aber ich versuche es mal anders ^^


    Ich habe eine Seite auf der quasi Belibig viele input und select Felder sein können.
    Diese erhalten dynamischen ein "name"-Attribute nach folgenden Schema: "ID[count][]" und "ersatz_ID[count][]".


    Pro ID kann es zwischen 1-16 Stück geben.


    Beim ersten Aufruf hat man dann Beispielsweise folgende Select-Felder
    123[0][]
    123[0][]
    ersatz123[0][]
    ersatz123[0][]
    123[1][]
    123[1][]
    789[0][]
    789[0][]
    789[1][]
    789[1][]


    Ja das sieht recht undurchsichtig aus, ist aber eigentlich sehr durchdacht. (Macht nur leider jetzt doch Probleme ^^' )


    Da diese aber dynmisch erstellt und auch gelöscht werden können, kann aber nahc dem 2. Aufruf soetwas hier entstehen:
    123[1][]
    123[1][]
    789[0][]
    789[0][]
    789[2][]
    789[2][]
    ersatz_789[2][]
    ersatz_789[2][]
    somit ist der Index nicht mehr fortlaufend und beginnt halt oftmals auch nciht mehr mit 0...
    Das will ich halt wieder ändern.


    An 2 Stellen kann ich da nun angreifen:
    Vorm Absenden im Browser per Js oder halt nach dem Absenden auf dem Sevrer via PHP...


    Im Grunde egal, mir mage infach kein Passender Algorithmus einfallen um das zu erreichen...


    Das zweite Beispiel soll am Ende quasi so aussehene:
    123[0][]
    123[0][]
    789[0][]
    789[0][]
    789[1][]
    789[1][]
    ersatz_789[1][]
    ersatz_789[1][]


    Vielleicht wurde das jetzt verständlicher? :D:D


    Den einzigen Code den ich jetzt hier zeigen könnte, wäre der zum dynamischen hinzufügen und löschen der Felder...^^


    EDIT: Das "name"-Schema könnte man auch ändern, aber das wäre mit sehr sehr viel Arbeit verbunden, den ich gerne vermeiden würde...

    Hey,


    Ich stehe irgendwie gerade mächtig auf dem Schlauch...


    Ich habe ein Array in dieser Form:


    Das äußere Array behält also beliebig viele weitere Arrays, diese bestehen aus einer Addressierung (String "name") und einem Wert "value" (int).


    Mein problem, ich muss nun den Index im Namen runterindexieren, also immer bei 0 anfangen lassen.


    Ich kriege es zwar hin, das hier zu erzeiugen, aber das war es auch:


    Aber diese Umformatierung bringt eigentlich quasi nichts...


    Zumal ich bei dieser neuindexierung nicht die Beziehung zwischen Haupteintrag und Ersatz verlieren darf...


    Ich hoffe das wurde verständlich :thumbup::thumbup:


    Grüße Kanu

    Allllsssoooooo:


    1. Bitte sieh zu dass du beim nächsten Mal ne ordentliche Formatierung drinne hast, so musste ich jetzt noch mehr Zeit investieren um deinen Code überhaupt lesen zu können...


    2. Vertraue niemals Formular-Eingaben!
    Übergebene Werte immer esapen z.B. so:

    PHP
    htmlentities($_POST['xxx']);


    3. So kann es tatsächlich nicht funktionieren, hilfreich wäre allerdsings eine Fehlermeldung...
    Bist du sicher, das du überhaupt in die IF-Anweisung springst?
    Spontan und schnell (und ungetestet):


    ansonsten wäre ein

    PHP
    print_r($daten)


    nützlich,...


    Grüße

    Doch, das ist ziemlich genau das was du suchst ;)


    Schau dir doch mal an, was genau da passiert, wenn man über "Blog" fährt.


    Ich glaube das hier im Forum ist etwas anders umgesetzt, aber grundsätzlich würden mir 2 Möglichkeiten einfallen:


    CSS: Transitions, so wie im oben umgesetzten Link


    oder


    JS: du bindest ein Event (onclick oder mouseover) an das entsprechende Element und Schiebst dann halt den Container nach unten...


    Die Css Variante empfinde ich persönlich als sauberer...


    Grüße

    Du hast vollkommen richtig erkannt, das das Problem bei den Hochkommata liegt.


    Ich frage mich nur, warum du es nicht behebt ;p


    Du benutzt beim echo doppelte Hochkommata um den auszugebenden String zu definieren, dann unterbrichst du den String mit erneuten doppelten Hochkommata um deine Variable einzufügen.


    Aber du setzt keine Hochkommata für den wirklichen Wert des href-Attributes, somit wird dann einfach nur

    Zitat

    <a href=http://link.de/test.pdftitle=...

    ausgegeben.


    Umd as auszugeben, was du möchtest musst du entweder noch einpaar doppelte Hochkommata einfüpgen und diese Maskieren oder du benutzt einfach Hochkommata.


    So hier:

    PHP
    echo "<a href='" . $_FILES['upfile']['name'] . "' title='Hier klicken'>PDF Dokument lesen</a></p>";


    oder so hier:

    PHP
    echo "<a href="" . $_FILES['upfile']['name'] . "" title='Hier klicken'>PDF Dokument lesen</a></p>";


    In der zweiten Variante muss vor das zweite und vor das 5. doppelte Hochkomma ein Backslash (die werden hier im Forum aber dummerweise scheinbar rasugefiltert 8|8|


    Ist beides ungetet, müsste aber so funktionieren.


    Beste Grüße

    Ja, das mit dem contains stimmt wohl, aber das würde sich sicher auch lösen lassen, aber die "data" Lösung gefällt mir eigentlich auch besser ^^


    Könntest über eine onchange-event einfach prüfen ob 1 oder 2 stellig und dann halt entsprechend ne 0 auffüllen, aber ich bin mir nciht sicher, ob das optisch so geht... (Wäre ja doof, wenn immer erst 2 aufflackert und dann 02 draus wird) aber das müsste man vlt einfach testen...

    Ich bin mir ziemlich sicher, das das kein größeres problem ist, aber leider ist dein Quellcode (wie auch schon in anderen deiner Beiträge) so unmöglich formatiert, das ich mir das so nicht angucken will...


    Da muss man ja vorher ne halbe Stunde investieren nur um den Code zu formatieren...

    Hey,


    Also mit HTML ist das so nicht möglich. HTML dient nur der Darstellung von Inhalten, nicht deren Verarbeitung oder Sonstiges...


    In deinem Fall ist das Mittel der Wahl PHP, z.B. so:


    1.inc

    PHP
    <?php
    
    
    
    
    $title = 'Titel des jeweiligen Partners';
    $content = 'Inhalt vom jeweiligen Partner...';


    Das ist vermutlich weder best-practice und das ganze ist ziemlich sicher auch noch absicherungswürdig, aber funktionell sollte das so klappen.
    Ist allerdings jetzt ungetestet...


    Grüße