Gästebuch / URL Link geht nicht richtig

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

  • Gästebuch / URL Link geht nicht richtig

    Moin Moin Leutz...

    vielleicht kann mir ja einer von euch mir helfen...
    ich habe eine Gästebuch selber programmiert aber es funtz net so wie es soll!

    Hier kommt schon mal der Quellcode:

    PHP-Code:
    if(ereg("^[a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4}$",$g_fhome)){
        
    //http:// fehlt in der Angabe der Adresse - Hier ergänzen
        
    if(!ereg("^[url]http:////[/url]",$g_fhome)) {
        
    $g_fhome="http://" $g_fhome;
        }
    $g_fhome="<a href=" $g_fhome " target=_blank>Website</a>";
    } else {
    $g_fhome="<a href=" $g_fhome " target=_blank>Website</a>";

    Das Problem hierbei ist jetzt wenn eine URL angegeben wurde erscheint ein Link (Website) das ist ja soweit auch richtig.
    Wenn jatzt aber keine URL angegen wurde dann wird trotzdem Link erzeugt der ins nirvana führt.
    Es soll jetzt so sein:
    -> URL eingetragen --> Link
    -> Keine URL eingetragen --> Kein Link

    Wer kann mir helfen ich bin noch eine Nubie in sachen PHP und bin daher auf eure Hilfe angewiesen...

    greetz lordvoldemort

  • #2
    PHP-Code:
    if(!empty($g_fhome) && ereg("^[a-zA-Z0-9-]+.)+([a-zA-Z]{2,4}$",$g_fhome)){
        
    // ... 
    so
    Zuletzt geändert von Benny-one; 18.04.2006, 12:15.
    Sunshine CMS
    BannerAdManagement
    Borlabs - because we make IT easier
    Formulargenerator [color=red]Neu![/color]
    Herkunftsstatistik [color=red]Neu![/color]

    Kommentar


    • #3
      Ne geht leider nicht jetzt bekomme ich diese ausgabe:

      Parse error: syntax error, unexpected T_STRING in C:\Programme\xampp\htdocs\Funny-Brother\community\gaestebuch\senden.php on line 45

      der Fehler liegt hier:

      PHP-Code:
      if(!empty($g_fhome) && ereg("^[a-zA-Z0-9-]+.)+([a-zA-Z]{2,4}$",$g_fhome)){
          
      //http:// fehlt in der Angabe der Adresse - Hier ergänzen
          
      if(!ereg("^<a href="http:////" target="_blank"><a href="http:////" </a>",$g_fhome)) { <-- HIER IST JETZT DER FEHLER
          
      $g_fhome="http://" $g_fhome;
          }
      $g_fhome="<a href=" $g_fhome " target=_blank>Website</a>";
      } else {
      $g_fhome="<a href=" $g_fhome " target=_blank>Website</a>";

      Kommentar


      • #4
        grml na klar is da der Fehler. Guck doch mal was das Board mit dem Code gemacht hat. Mach in dein Kram nur das !empty($g_fhome) && rein und fertig
        Sunshine CMS
        BannerAdManagement
        Borlabs - because we make IT easier
        Formulargenerator [color=red]Neu![/color]
        Herkunftsstatistik [color=red]Neu![/color]

        Kommentar


        • #5
          ich habe das ja ergänzt und dann kam ja der syntax fehler

          oder meinst du bei der zweiten if anweisung auch noch!?

          Kommentar


          • #6
            argh!!!!!

            nimm MEIN !empty($g_fhome) && und pack das GLEICH nach dem ( in der ERSTEN IF-Anweisung rein.
            PHP-Code:
            if(!empty($g_fhome) && ereg("^[a-zA-Z0-9-]+.)+([a-zA-Z]{2,4}$",$g_fhome)) 
            Sunshine CMS
            BannerAdManagement
            Borlabs - because we make IT easier
            Formulargenerator [color=red]Neu![/color]
            Herkunftsstatistik [color=red]Neu![/color]

            Kommentar


            • #7
              Habe es jetzt nochmal geändert gehabt aber der fehler bleibt bestehen...
              Was mache ich jetzt noch falsch??

              Ich poste jetzt mal das ganze Ding:

              PHP-Code:
              <?php 

              //Stammen die Daten vom Formular
              if(isset($_POST["senden"])) {
              //Texteingabe filtern
              function daten_reiniger($inhalt) {
                  if (!empty(
              $inhalt)) {
                      
              //HTML u. PHP-Code entfernen
                      
              $inhalt strip_tags($inhalt);
                      
              //Umlaute u. Sonderzeichen ind HTML umwandeln
                      
              $inhalt htmlspecialchars($inhalt);
                      
              //Entfernen von überflüssigen Zeichen am Anfang und Ende des Textes
                      
              $inhalt trim($inhalt);
                      
              //Backslash entfernen
                      
              $inhalt stripslashes($inahlt);
                  }
              return 
              $inhalt;
              }

              //Schreibarbeit duch umwandeln ersparen
              foreach ($_POST as $key=>$element) {
                  
              //Dynamische Varibale erzeugen, wie g_fname, etc. und die eingabe filtern
                  
              ${"g_".$key} = daten_reiniger($element);
              }
              #########################################
              ###########Anfang der Prüfung############
              #########################################

              // Kein richtiger Name eingegeben
              if(strlen($g_fname)<3){
              $error_msg="Gib doch bitte deinen Namen an...";
              }
              //Kein Eintrag vorhanden
              if(strlen($g_finhalt)<3){
              $error_msg="Du hast nix zum eintragen hinterlassen, bitte sein doch so nett!!!";
              }
              //Mailadresse angegeben? Formatierung durchführen
              if(ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4}$",$g_femail)){
              $format_femail="<a href=mailto=" $g_femail ">E-Mail</a>";
              $error_msg.="<br>Fehlerhalfte E-Mail angegeben!<br>";
              }
              //Es wurde eine Website angegeben
              if(!empty($g_fhome) && ereg("^[a-zA-Z0-9-]+.)+([a-zA-Z]{2,4}$",$g_fhome)){
                  
              //http:// fehlt in der Angabe der Adresse - Hier ergänzen
                  
              if(!ereg("^<a href="http:////" target="_blank"><a href="http:////" </a>",$g_fhome)) { <-- HIER IST JETZT DER FEHLER
                  
              $g_fhome="http://" $g_fhome;
                  }
              $g_fhome="<a href=" $g_fhome " target=_blank>Website</a>";
              } else {
              $g_fhome="<a href=" $g_fhome " target=_blank>Website</a>";
              }

              #########################################
              #############Ende der Prüfung############
              #########################################

              //Prüfen ob Fehler vogekommen sind!
              if($error_msg){
              echo
              "
              <html>
              <head>
              <link rel='stylesheet' href='../style.css' type='text/css'>
              </head>
              <body>

                <table width='600' border='0' cellspacing='0' cellpadding='0' align='center'>
                  <tr>
                    <td><table width='600' border='0' cellspacing='0' cellpadding='0'>
                      <tr>
                        <td width='167' height='29' background='../style/navi1.gif'><table width='167' border='0' cellspacing='0' cellpadding='0'>
                          <tr>
                            <td width='60'>&nbsp;</td>
                            <td width='97'><div align='left'><strong>G&auml;stebuch</strong></div></td>
                            <td width='15'>&nbsp;</td>
                          </tr>
                        </table></td>
                        <td width='433'><div align='left'><b>--FEHLER--</b></div></td>
                      </tr>
                    </table></td>
                  </tr>
                  <tr>
                    <td height='2' background='../style/bg.gif'></td>
                  </tr>
                  <tr>
                    <td align='center' class='latestnews' colspan='3'><br>
                    <p>
              $error_msg</p>
                    <a href='javascript:history.back()' class='contentlink'>Zur&uuml;ck</a><br>
                    Eintrag konnte nicht angelegt werden.<br>
                    Bitte versuche es doch noch einmal!<br>      
                    </td>
                  </tr>
                </table>
              </body>
              </html>
              "
              ;
              } else {
              $g_fdatum=date("Y-m-d H:i:s");
              $eintrag="
              <table width='600' align='center'>
                  <tr align='center'>
                      <td class='latestnews'>
              $g_ftitel</td>
                  </tr>
                  <tr>
                      <td class='autor'>
                          <div align='right'>
              $g_fdatum</div>
                      </td>
                  </tr>
                  <tr>
                      <td valign='top' width='13'>
                          <div class='morelink'>&raquo;&nbsp;</div>
                      </td>
                      <td valign='top' class='blocksatz' width='375'>"
              nl2br($g_finhalt)."</td>
                  </tr>
                  <tr>
                      <td class='contentback'>
                          <div align='right'>
              $g_fname</div>
                      </td>
                  </tr>
                      <td valign='top'>
                          <table width='100%' border='0' Cellspacing='0' Cellpadding='0'>
                              <tr>
                                  <td class='autor'>
                                      <div align='left'>[ 
              $format_feamil ]</div>
                                  </td>
                                  <td class='autor'>
                                      <div align='left'>[ 
              $g_fhome ]<div>
                                  </td>
                              </tr>
                          </table>
                      </td>
                  </tr>
                  <tr>
                      <td class='latestnews'>
                      </td>
                  </tr>
              </table>
              "
              ;

              include(
              "funktionen.php");

              }

              } else {
              echo
              "
              <html>
              <head>
              <link rel='stylesheet' href='../style.css' type='text/css'>
              </head>
              <body>

                <table width='600' border='0' cellspacing='0' cellpadding='0' align='center'>
                  <tr>
                    <td><table width='600' border='0' cellspacing='0' cellpadding='0'>
                      <tr>
                        <td width='167' height='29' background='../style/navi1.gif'><table width='167' border='0' cellspacing='0' cellpadding='0'>
                          <tr>
                            <td width='60'>&nbsp;</td>
                            <td width='97'><div align='left'><strong>G&auml;stebuch</strong></div></td>
                            <td width='15'>&nbsp;</td>
                          </tr>
                        </table></td>
                        <td width='433'><div align='left'><b>--FEHLER--</b></div></td>
                      </tr>
                    </table></td>
                  </tr>
                  <tr>
                    <td height='2' background='../style/bg.gif'></td>
                  </tr>
                  <tr>
                    <td align='center' class='latestnews' colspan='3'><br>
                    
                    <a href='buch_eintrag.php' class='contentlink'>Zur&uuml;ck</a><br>
                    Eintrag konnte nicht angelegt werden.<br>
                    Bitte versuche es doch noch einmal!<br>      
                    </td>
                  </tr>
                </table>
              </body>
              </html>
              "
              ;
              }
              ?>
              Vielleicht hilt das ja weiter

              Kommentar


              • #8
                PHP-Code:
                } else {
                $g_fhome="<a href=" $g_fhome " target=_blank>Website</a>";

                zu
                PHP-Code:
                } else {
                $g_fhome="";

                Sunshine CMS
                BannerAdManagement
                Borlabs - because we make IT easier
                Formulargenerator [color=red]Neu![/color]
                Herkunftsstatistik [color=red]Neu![/color]

                Kommentar


                • #9
                  sorry aber der fehler ist immer noch in zeile 45

                  hatte es mit der neuen else angabe gemacht bingt aber nix

                  Kommentar


                  • #10
                    Wenn du direkt beim eintragen die if abfrage machst würde sich das hier empfehlen:
                    Code:
                    ([http:\/\/|www\.-_a-z0-9]+)
                    wenn dann du dann alles anzeigen willst fragst du einfach nur ab:
                    PHP-Code:
                    if(!empty($gastURL))
                    {
                    // URL wird angezeigt!
                    }else{
                    // URL wird nicht angezeigt!

                    [COLOR=crimson]2 Late [/COLOR]

                    Sers
                    Der Boris
                    Zuletzt geändert von boris-schneider; 18.04.2006, 12:38.

                    Kommentar


                    • #11
                      Original geschrieben von lordvoldemort
                      sorry aber der fehler ist immer noch in zeile 45
                      welcher fehler? war der vorher schon? wenn nein -> rückgängig machen.
                      Sunshine CMS
                      BannerAdManagement
                      Borlabs - because we make IT easier
                      Formulargenerator [color=red]Neu![/color]
                      Herkunftsstatistik [color=red]Neu![/color]

                      Kommentar


                      • #12
                        Füge bitte diese Zeile in deinen Code bei Zeile 45 Ein:

                        PHP-Code:
                        if(!ereg("^<a href=\"http:////\" target=\"_blank\"><a href=\"http:////\" </a>",$g_fhome)) { 
                        Du hast die " nicht maskiert. Ich glaube da lag der Fehler.

                        Kommentar


                        • #13
                          ... dann aber so:
                          Code:
                          <\/a>
                          sonst wird es auch wieder Fehler geben
                          Zuletzt geändert von boris-schneider; 18.04.2006, 12:42.

                          Kommentar


                          • #14
                            Mein Zend Studio sagt das es nun ein korekter String ist. Mit regular expressions kenne ich mich nun nicht so gut aus. Falls dein Kommentar auf die Expression zielt.
                            Zuletzt geändert von PHP-Boernie; 18.04.2006, 12:47.

                            Kommentar


                            • #15
                              Original geschrieben von PHP-Boernie
                              Falls dein Kommentar auf die Expression zielt.
                              Yep

                              Wenn man </a> so stehen lassen würde, bekäme man einen Delimiter Error, diesem kommt man entgegen mit <\/a>.


                              http://regexp-evaluator.de/tutorial-delimiter.html

                              Sers
                              Der Boris

                              Kommentar

                              Lädt...
                              X