Beiträge von Bodaggnmo

    Die Seite befindet sich im Intranet meiner Firma, also da müsste ich schon von einem Angriff aus dem Inneren ausgehen, und das ist glaub ich nicht der Fall. Danke aber für den Hinweis.

    Stef Sorry, hab gestern deinen Post irgendwie überlesen. Hier ist mal der relevante Code Teil:


    Hier wird jetzt der Informationstitel durch die URL ersetzt, wie ich gestern schon gesagt hab wollt ich ja aber eigentlich, dass der ganze Link angezeigt wird und nicht abgeschnitten wird sobald ich auf den Printbutton geh. Dass es replaced wird ist ja auch klar, weil ja document.body.innerHTML.replace angewendet wird. Das soll aber auch erstmal nicht mein Hauptproblem sein, sondern einfach dass ich es echt nicht hinbekomme, dass der Link dann eben mit Zeilenumbruch oder wie auch immer komplett angezeigt wird..

    Sehr gut danke für deine Mühe, jetzt hab ich das Grundprinzip verstanden.

    Ich habs alles eingebaut und er ersetzt auch den Linknamen mit der URL.

    Was jedoch trd noch ist, ist dass der Link in der Druckversion abgeschnitten wird. Ich schätze mal das liegt an der window.print Funktion. Deine Code funktioniert nämlich einwandfrei :) ich bemüh mal googel weiter, sobald ich die Lösung hab meld ich mich, um es dir oder euch mitzuteilen. Danke vielmals!

    Ich erkenne das Problem nicht:

    JavaScript
    1. document.body.innerHTML = document.body.innerHTML.replace(
    2.         /<a href=\"([^"]+)\" target=\"_blank\">[^<]+<\/a>/ig
    3.         , '<span class="print-link">$1</span>'
    4.     );

    Ich hab das ganze mal auf codepen probiert und da liest er den Link einwandfrei aus. Danke!


    Daraufhin hab ichs in mein php Skript zwischen die <script> tags eingebaut, da hat sich nichts getan, also hab ichs in eine neue Datei kopiert, als .js gespeichert und über den link im head Bereich eingebunden. Da tut sich auch nichts. Ich hab versucht den Syntax von diesem Skript mit Google zu verstehen, aber ich blick da nicht durch was die ganzen "/", eckigen klammern usw da machen. Ich hab nämlich probiert in Codepen (da hat es ja einwandfrei funktioniert) dein Skript so umzubauen, dass Dokumentenname + Link angezeigt werden, so brauch ich das dann nämlich im print. Falls du noch Zeit und Lust hast, erklär mir mal bitte die Syntax nach dem replace(, als was die ganzen Sonderzeichen da bewirken.. danke dir!

    Danke für die schnelle Antwort. den <a> Tag kann ich schwer du den ganzen Text ersetzen, weil es über 1500 verschiedene Links gibt. Die hab ich alle in einer Datenbank liegen und frage die über PHP nur ab

    <Code=PHP>


    echo '<a href='.$line4['public_link'].' target="_blank" >'.addslashes($line4['document_title']).'</a><br>';

    </Code>

    Hallo Zusammen,


    ich habe auf meiner Seite die onclick Funktion "window.print()" eingebaut.


    Auf der Seite befinden sich Dokumente, bei denen ein Link hinterlegt ist. Der dahinter liegende Link wird beim drucken mit angezeigt, aber abgeschnitten.


    Ich hatte ein zweites Problem, dabei ging es um einen Button der die Benutzer auf Outlook weiterleitet, den konnte ich einfach über CSS mit @media ausblenden.

    Gibt es eine Möglichkeit, die anderen Links komplett darzustellen? Wenn man sie ausblenden kann, sollte man sie ja eigentlich auch komplett einblenden können. Ich habs mit !important probiert aber funktioniert nicht.. Hab dazu leider nichts verwendbares bislang gefunden..


    Vielen Dank


    und weiter oben im PHP hab ich dann erstmal ne Testausgabe machen wollen:


    PHP
    1. if(isset($_POST['neu'])) {
    2. $neu=$_POST['neu'];
    3. if($neu == 1){
    4. echo " test1";
    5. }else{
    6. echo "test2";
    7. }
    8. }


    Den Dropdowns hab ich die id=sele gegeben. Der alert aus der ersten Funktion im Skript wurde aber nie angezeigt, sondern eben nur die Dropdowns gelöscht.

    Aber da wurde nichts ausgegeben oder gar nichts, dann bin ich nochmal zum Ausgangspunkt zurück, ich will nen Button mit einfach nur 2 Funktionen. So bin ich dann zurück zum onClick gekommen.

    Da geb ich dir vollkommen Recht, über kurz oder lang, muss ich mich mit Ajax und auch richtigen javascripten beschäftigen wie man sowas baut. Komm ja gerade mal stellenweiße mit PHP und HTML zurecht :D Aber wie sagt man so schön, Übung macht den Meister. Aber ohne euch hier im Forum wäre ich schon ziemlich aufgeschmissen. Für eure Mühe und immer Gedankenanstöße ein fettes Dankeschön!

    Ja stimmt, sieht deutlich besser aus!


    Zum eigentlich Thema. Ich hab's nicht hinbekommen, Bastis Skript so umzubauen, dass es das tut was es soll. Es löscht zwar wie ein normaler Resetbutton die Einträge im Dropdown, jedoch schaff ich es nicht, dass er die result.php neu lädt.


    Ich hab jetzt einfach mal per einen onClick Button eingesetzt, den ich einfach 2 Javafunktionen ausführen lass.


    PHP
    1. echo '<td align="right"><input type="button" value="'.$clearbutton_designator.'" onClick="this.form.reset(); form.submit();">';


    Funktioniert bei mir einwandfrei und macht genau das, was er machen soll. Ist das auch programmiertechnisch korrekt?

    Ok danke für die Erklärung. Ja man hat halt am Anfang gelesen, dass man mit echo in html wechselt, und nach nem php befehl kommt ein ; . Naja, dass man einfach alles in ein echo packt, bin ich damals nicht drauf gekommen, aber stimmt muss ich mir mal Zeit nehmen und den Code verschönern. Dann probier ich jetzt mal das so umzubauen. So wie ichs verstanden hab, muss ich ins echo die Variablen="%" reinschreiben, damit der bei der folgenden SQL Abfrage wieder alle Möglichkeiten anzeigt.

    Ah okay, war mir nicht sicher habs einfach mal genauso aufgebaut wie es bei dir ist :D


    Okay dann nochmal zum Verständnis meiner Seite.


    Im Bereich oben links befindet sich wie eine Art Zeitstrahl, wo die Benutzer einen Punkt in ihrem Projektfestlegen können. Dies ist in der 1. PHP Datei geregelt.

    Im rechten oberen Bereich, befindet sich dann die PHP Datei um die es eigentlich geht. Hier sind 4 Dropdown Menüs vorhanden. Auch hier kann der Benutzer eben eine Auswahl treffen. Diese Auswahl wird dann bislang, wie in #1 gezeigt, per form zu der dritten php Datei geschickt. In der dritten PHP Datei frag ich die Variablen dann ab, und auf Grundlage dieser wird eine SQL Abfrage durchgeführt und eine Ergebnisliste angezeigt.


    Das Ausgangsproblem ist jetzt, dass ich in der 2. PHP Datei, die mit den Dropdowns, bislang zwei Buttons habe. Einen Reset, und einen Submit. Der Submit schickt die ausgewählten Variablen an die 3. PHP Datei, die mit der Ergebnisliste und der SQL Abfrage. Der Reset leert aktuell nur die ganzen Dropdownauswahlen. Um aber die Ergebnisliste zu aktualisieren, muss der Benutzer nachdem er auf Reset gedrückt hat, nochmal auf Filter drücken. Diese Funktion probier ich in dem Reset button zu vereinen. Also Einträge im Dropdown löschen/zurücksetzen dass keine Auswahl getroffen ist (was er bereits einfach mit <button type="reset"> macht) und jetzt soll aber bei diesem Button zusätzlich alle Variablen leer an die PHP Datei mit der Ergebnisliste geschickt werden, dass die sich wie beim Klick auf den Submitbutton neu lädt.


    Ich zeig dir nun mal, vereinfacht, den Aufbau der PHP Datei mit den Dropdowns.


    PHP
    1. header('Content-Type: text/html; charset=iso-8859-1');
    2. // get variables from user selection
    3. if (isset($_GET["v1"])) {$v1 = $_GET["v1"];} else {$v1="met";}
    4. if (isset($_GET["v2"])) {$v2 = $_GET["v2"];} else {$v2="all";}
    5. if (isset($_GET["v3"])) {$v3 = $_GET["v3"];} else {$v3="g1";}
    6. if (isset($_GET["v4"])) {$v4 = $_GET["v4"];} else {$v4="en";}


    v1&v2 stellen jetzt einfach mal die Variablen aus dem Zeitstrahl dar, v3&v4 sollen die Variablen im Dropdown sein.


    Dann folgte der Verbindungsaufbau mit der Datenbank (ist schätz ich für die Frage nicht relevant), und im nächsten Schritt öffne ich das Form Element, dem ich sage, dass er die Variablen in die 3. Datei (result.php) schicken soll.


    PHP
    1. // Aufbau des Auswahlformulars
    2. echo '<form method="POST" action="result.php?v1='.$v1.'&v2='.v2.'&v3='.$v3'&v4='.$v4.' " target="result">', PHP_EOL;


    Dann folgen die Datenbankabfragen für die Werte, die im Dropdownmenü angezeigt werden sollen (die sind nämlich nur einmal hardgecoded, die anderen Auswahlmöglichkeiten werden dynamisch erzeugt) Beispiel:


    PHP
    1. // Ausfuehren einer SQL-Anfrage: Auswahlformular 'Type', Werte ohne Wiederholungen
    2. $query2 = "SELECT DISTINCT type_".$v4." FROM $database_name_eb WHERE type_".$v4." <> 'empty'";
    3. $result2 = mysqli_query($link, $query2) or die("Request failed: " . mysqli_error($link));


    Dann folgen ein paar Variablendefinitionen für die Mehrsprachigkeit des Auswahlformulars, auch unnötig für die Frage.


    Und dann geht's auch schon direkt los mit den Auswahlformularen, als Beispiel ein hardgecodetes, und ein dynamisch erzeugtes:


    Nun werden die Dropdowns dargestellt, hinter den Variablen "type_designator" und "v3_designator" stehen einfach nur deutsche und englische Bezeichnungen fürs Dropdown.


    Vereinfacht, wars das auch schon.

    Ich hoffe, ich habe es verständlich erklärt. Und schon mal vielen Dank für die Zeit die du dir nimmst!

    Hm, ich hab oben im head Bereich alles eingefügt, wie es bei dir ist.


    HTML
    1. <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>  <script src="https://www.googletagmanager.com/gtag/js?id=UA-122955144-1" async=""></script>  <script>  window.dataLayer || [];  function gtag(){dataLayer.push(arguments);}  gtag('js', new Data());  gtag('config', 'UA-122955144-1');  </script>  <style>      table {        width:100%;        font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;  font-size: 13px;      }    </style></head>


    dann die id beim select


    PHP
    1. $select= '<select name="v1" id="sele" >';$select.='<option selected></option>'; $select.='<option>verpflichtend</option>'; $select.='<option>tailorbar</option>'; $select.='</select>';


    Die Buttons:

    PHP
    1. echo '<td align="right"><button id="rese" type="reset" data-wert="1">Reset</button></td><td align="left"><input type="submit" name="Submit" value="Filter"></td>';


    und zu schluss dein Skript:



    Wenn ich was auswähl und auf den Button drück, wird die Dropdown Auswahl gelöscht, aber dann steht auch gar nichts mehr drinnen im Dropdown.

    Die result.php lädt sich auch nicht neu. Und was meinst du mit des PHP dahinter? Ich hab ja im Endeffekt schon den fertigen Code und muss da nur dein Skript dazubauen oder nicht? Sorry ich bin in diesem selbst Java oder Ajax schreiben so komplett unerfahren, bekomm jetzt nach 4 Monaten nur PHP mit html einigermaßen hin.

    Ich erwarte hier keine komplett Lösung, wäre nur sehr nett, falls zu Zeit hast, dein Skript da kurz bisschen zu erklären weil ich glaub so wie ich es hab, ist da irgendwo ein Funktionsfehler, nachdem die result.php überhaupt nicht angegangen, bzw neugeladen wird und die Dropdown Inhalte komplett verschwinden.



    Ok dann probier ichs nochmal:


    In einem php File hab ich Dropdowns erzeugt. Hier kann der Benutzer eine Auswahl treffen. Über einen Submit button werden die Variablen an ein anderes PHP File geschickt, in dem dynamisch eine Ergebnisliste aus SQL geladen wird. Wenn der Benutzer jetzt eine Auswahl getroffen hat und auf Filter drückt, wird die Ergebnisseite neu geladen und nach den gesetzten Variablen gefiltert.


    Unter den Dropdowns ist noch der Button Reset. Der löscht aktuell aber nur die Dropdownauswahl und aktualisiert aber nicht zugleich die Ergebnisliste. Diese wird erst aktualisiert wenn der Benutzer erneut auf Filter drückt, da jetzt die Variablen wieder an die andere php Datei geschickt werden.

    Ziel ist es aber, dass der Reset Button zum einen die Dropdownauswahl löscht, und zusätzlich die Ergebnisliste neu lädt.

    Hallo,

    ich bin selbst noch ziemlich neu bei der Programmierung, aber wenn ich das machen müsste, würde ich so vorgehen:


    Textfelder kann du ja einfach mit <Input type="text"> erstellen.


    Den Textfelder weißt du dann Variablen zu, die du einfach mit $POST oder $GET übergibst.


    Mit <form method="Post" action="neue_seite.php?Var='.$var'und so weiter"> solltest du über einen Submit Button die Variablen losschicken können.


    In dem PHP File von deiner neuen Seite frägst du dann einfach die geschickten Variablen ab

    PHP
    1. if (isset($_GET["var"]))     {$var = $_GET["var"];}         else {$var="hier etwas vordefinieren, für den Fall dass derjenige nichts eingegeben hat ";}


    Dann baust du in dem php File das Grundgerüst der Seite einfach auf und lässt die Variablen an der Stelle anzeigen, die der Benutzer eben selbst bearbeiten kann, durch seine Eingaben.


    Keine Garantie ob das wirklich so funktioniert, aber würde ich mal probieren.