Ankündigung

Einklappen
Keine Ankündigung bisher.

Ausgabe klickbar machen und Wert übergeben?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Ausgabe klickbar machen und Wert übergeben?

    Hi,

    habe folgendes Prob. Ich hab nen Script das es Usern ermöglicht Einträge anzulegen, diese kann ich auch ausgeben lassen. Nun wollte ich eine Kommentarfunktion einbauen. Das heisst die ausgegebenen Einträge müssten klickbar werden und wenn der User den Comment speichert müsste das Script wissen zu welchem Eintrag der Comment gehört. Die Einträge haben jeweils ne ID die auch Fremdschlüssel in der Kommentartabelle ist.

    Was ich bis jetzt über google und die Bordsuche gefunden habe wäre das man die ID an die URL hängt wenn ein User drauf klickt und dann vor dem abspeichern des Comments per Get wieder ausliest. Nur hab ich ka wie das funtzen soll.
    Im mom werden die Einträge einfach als Text über eine schleife ausgegeben, wobei die ID nicht mit ausgegeben wird. Kann mir evt jemand sagen wie ich bei der Ausgabe gleich den Link mit der ID erzeugen lassen kann und ob das überhaupt so funktionieren würde wie ich es mir denke? ^^
    Wäre auch über ne andere Idee dankbar, hauptsache ich komme mit dem Prob endlich weiter.

    Edit:
    das mit den Links hab ich inzw. hinbekommen:

    Code:
    while (OCIFetch($anfr)){
      echo "Künstler: ".OCIResult($anfr,3)."
    ";
      echo "Titel: ".OCIResult($anfr,2)."
    "; 
      echo "Genre: ".OCIResult($anfr,6)."
    "; 
      echo "Erscheinungsjahr: ".OCIResult($anfr,4)."
    ";
      echo 'Kommentar abgeben';
      echo "
    
    
    ";
      }

  • #2
    Nur mal am Rande .. du kannst da nichts für.
    Diese kagg php-Highlighter geht mir so was von auf die Nüsse. Das ist einfach unglaublich!

    So. *durchatmen*
    Du suchst das hier glaub ich:
    http://forum.developers-guide.net/showthread.php?t=12
    [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

    Kommentar


    • #3
      Und ich hab mich schon gewundert warum der Post auf einma so schrecklich aussah.
      Habs jetzt ma auf's Code-Tag geändert, da gibts solche Probs scheinbar net.

      Bei dem Link den du gepostet hast hab ich gleich den letzten Fehler gesehn den ich jetzt noch habe. Die Variable wird an die url kommentar.htm weitergegeben, wenn der User da auf abschicken klickt wird das php-script zum speichern aufgerufen. Da die Variable dann aber nicht mehr weitergegeben wird zeigt er "Array ( ) " an wenn ich mir anzeigen lasse was er über get bezieht.
      Bis jetzt hab ich immer ne neue Seite mit dem PHP-Script aufrufen lassen mittels:
      <form name="frm1" action="kommentar.php" onsubmit="return testing()" method=POST>

      Wie kann ich denn nu den HTML-Teil und den php-Teil in eine Datei packen und zwar so das er den PHP-Code erst ausführt wenn der User auf den Button zum speichern geklickt hat?

      Kommentar


      • #4
        Die Datei nennst du "irgendwas.php".
        Da kannst du dann reinschreiben:

        Code:
        <?php
        
            if(array_key_exists('sent', $_POST) {
                  // das machen, was geschehen soll, wenn das Formular abgeschickt wurde
            }
            else {
                  // Formular ausgeben lassen, z.B. so
        ?>
        
                  <form action="<?php echo $_SERVER['PHP_SELF']; ?> method="post">
                      
                      <input type="submit" name="sent" value="wech damit" />
                  </form>
        <?php
            }
        ?>
        Grüße Ben.
        [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

        Kommentar


        • #5
          Hab ma meinen Code in die Vorlage eingefügt und versucht zu öffnen, kommt aber direkt folgende Meldung: Parse error: parse error in .../kommentar.php on line 4
          In Line 4 steht dann: if(array_key_exists('sent', $_POST) {

          muss auch sagen das ich ka habe was die IF-Bedingung da abfragt

          Kommentar


          • #6
            Ich sehe zwei runde Klammer auf, aber nur eine runde Klammer zu. Und wenn du so eine einfache Zeile schon nicht verstehst, lerne erst mal die Grundlagen.

            http://www.php.net/manual/de
            http://www.php-faq.de
            http://www.schattenbaum.net/php/ (leider etwas veraltet)
            http://www.galileocomputing.de/openbook/php4 (leider etwas veraltet)
            http://tut.php-q.net/index.html
            http://dev.mysql.com/doc/mysql/de/index.html
            http://ffm.junetz.de/members/reeg/DSP/
            http://www.phptutorials.de
            http://www.dynamic-webpages.de/05.tutorials.php

            Gruß
            phpfan

            Kommentar


            • #7
              Jupp. Sorry. Habsch 'ne Klammer vergessen
              [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

              Kommentar


              • #8
                @ phpfan

                Wenn ich riesen Spaß an PHP und genügen Zeit hätte würde ich mich sicher intensiver damit beschäftigen und jedes erdenkliche Tutorial dazulesen...

                und wenn du schon antwortest hättest dir auch noch die Mühe machen können zu sagen wo die Klammer zu muss. Und ja ich versteh die einfach Zeile net....

                Kommentar


                • #9
                  Zitat von freeze
                  und wenn du schon antwortest hättest dir auch noch die Mühe machen können zu sagen wo die Klammer zu muss.
                  Hätte ich, aber ich bevorzuge es, wie viele User hier im Forum, andere denken zu lassen.

                  Gruß
                  phpfan

                  Kommentar


                  • #10
                    Na in der if-Abfrage. Wo sind denn sonst noch runde Klammern?
                    [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

                    Kommentar


                    • #11
                      Juhu hab's geschafft die Klammer zuzumachen. ^^

                      Jetzt kann ich die Datei zwar öffnen und alles eintragen aber wenn ich auf speichern klicke passiert nix, bzw zeigt er an Die Seite wurde nicht gefunden.

                      Ich post ma den Code, evt fehlt ja noch ne Klammer...
                      Code:
                      <?php 
                      session_start();
                      
                       if(array_key_exists('sent', $_POST)) { 
                       $titel = $_POST["txt1"];
                       $text = $_POST["ta1"];
                       $e_id = $_Get['id'];
                       $dbh=ocilogon("user","pw");
                       
                      $sql = "insert into kommentar values (kid_seq.nextval,'$titel', '$text',sysdate,'$e_id')";
                      
                       $anfr = OCIParse($dbh,$sql);
                       $result = OCIExecute($anfr);
                       
                       if ($result) { echo "Kommentar erfolgreich erstellt!"; }
                          } 
                          else { 
                                
                      ?> 
                      <html><head><title>Kommentar schreiben</title>
                      
                      <SCRIPT LANGUAGE="JavaScript">
                      
                      function txt1_onKeyPress(){
                      if (window.document.frm1.txt1.value.length>49){
                      	alert ("Man wie lang soll die denn noch sein?! Hä?! 50 Zeichen reichen!!!");
                      	window.event.keyCode =0;
                      	}
                      }
                      
                      
                      function ta1_onKeyPress(){
                      if (window.document.frm1.ta1.value.length>3999){
                      	alert ("Ich glaube 4000 Zeichen reichen wohl! Fass dich mal etwas kürzer!");
                      	window.event.keyCode =0;
                      	}
                      
                      }
                      
                      
                      
                      function testing (){
                      
                      if (window.document.frm1.txt1.value.length < 1){
                      	alert ("Überschrift rein!!!");
                      	window.document.frm1.txt1.focus();
                      	return false	
                      	}
                      if (window.document.frm1.ta1.value.length < 1){
                      	alert ("Na wirst du wohl nen Text reinschreiben!!!");
                      	window.document.frm1.ta1.focus();
                      	return false	
                      	}
                      
                      return true
                      }
                      
                      
                      </SCRIPT>
                       
                      <body bgcolor="#91a5cd">
                       <form action="<?php echo $_SERVER['PHP_SELF']; ?> method="post"> 
                                    
                      1. Überschrift: 
                      
                      <INPUT TYPE=text NAME="txt1" size=50 onKeyPress="txt1_onKeyPress()">
                      
                      
                      2. ihr Kommentar (max. 4000 Zeichen) 
                      
                      <textarea name ="ta1" cols="65" rows="9" onKeyPress="ta1_onKeyPress()"></textarea> <INPUT TYPE=text name="txt2" Value="4000" size=2>
                      
                      
                                    <input type="submit" name="sent" value="wech damit" /> 
                                </form> 
                               </body>
                      </html>
                                 
                      <?php 
                          } 
                      ?>
                      Könnte auch an dem Javascript or what ever liegen, aber wie gesagt einzeln funtzt es, nur für die Übergabe der ID muss beides in eine PHP Datei und ich kriegs halt net hin....

                      Kommentar


                      • #12
                        Ok et läuft jetzt, hab grad von nem Kumpel (der PHP wesentlich besser kann als ich ) den Tip bekommen das form action in ---> <form action="<?=$_SERVER['PHP_SELF']; ?>" method="post"> zu ändern und nu läufts.

                        Aber nochma danke an Ben für die Hilfe und die Vorlage.

                        Kommentar


                        • #13
                          Habs grad nochma getestet und festgestellt das die ID trotzdem wieder verloren geht. Die Url sieht jetzt so aus: kommentar.php?id=73

                          Aber wenn auf speichern geklickt wird öffnet sich /kommentar.php mit der Meldung Kommentar wurde erstellt und GET liefert wieder keinen Wert. Der PHP und HTML Teil sind doch nun zusammen in einer Datei und ich dachte wenn die URL vor'm abspeichern stimmt dann müsste Get auch den Wert auslesen können aber er machts net.
                          Kann mir jemand sagen warum Get jetzt immer noch nicht die ID liefert.
                          $e_id = $_GET['id']; + print_r($_GET); = Array ()

                          Kommentar


                          • #14
                            in der <form> steckst du die id in ein verstecktes Formularfeld
                            (<input name="id" type="hidden" value="
                            PHP-Code:
                            <?php echo $_GET['id'?>
                            ">)

                            dort wird nun die ID gspeichert und du kannst weiterarbeiten...

                            Kommentar


                            • #15
                              Thx, inzw läuft das ganze so wie es soll. *froi*

                              Kommentar

                              Lädt...
                              X