Ergebnis 1 bis 6 von 6

Thema: URL-Weiterleitung in PHP-Script, wenn ...

  1. #1
    Azubi(ne)
    Registriert seit
    23.10.2006
    Beiträge
    59
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard URL-Weiterleitung in PHP-Script, wenn ...

    Hallo,

    ich möchte in einem PHP-Script (hier ein Formmailer), auf eine URL automatisch weiterleiten lassen, WENN keine Fehler vorhanden sind.

    Momentan sieht das so aus (Ausschnitt):

    Code:
    //falls die überprüfung in ordnung ist, email senden
    if(!isset($error)) {
    //vereinfachung der variablen
    $name	   	= $HTTP_POST_VARS['name'];
    $vorname	   	= $HTTP_POST_VARS['vorname'];
    $email	        = $HTTP_POST_VARS['email'];
    $subject		= $HTTP_POST_VARS['thema'];
    
    //header-definition
    $headers .= 'From&#58; '.$name.' '.$vorname.' <'.$email.'>'."\n";
    $headers .= 'X-Sender&#58; <'.$email.'>'."\n";
    $headers .= "Reply-To&#58; ".$name." ".$vorname." <$email>\n";
    
    //text-definition
    $text .= 'From&#58; '.$name.' '.$vorname.' <'.$email.'>'."\n";
    $text .= 'X-Sender&#58; <'.$email.'>'."\n";
    $text .= "Reply-To&#58; ".$name." ".$vorname." <$email>\n\n";
    $text .= "Antwort durch&#58; " .$antwort. "\n";
    $text .= "Gefunden durch&#58; " .$gefunden. "\n";
    $text .= "Thema&#58; ".$thema."\n\n";
    $text .= "Anschrift&#58; ".$vorname." ".$name.", ".$straße.", ".$plz." ".$ort."\n";
    $text .= "Telefon&#58; ".$telefon."\n\n";
    $text .= "Nachricht&#58; \n".$nachricht. "\n";
    
    //anpassung der zeilenumbrüche des textes für email
    $text = ereg_replace&#40;'
    ',"\n",$text&#41;;
    
    //anpassung der umlaute
    $text = ereg_replace&#40;'&auml;',"ä",$text&#41;;
    $text = ereg_replace&#40;'&ouml;',"ö",$text&#41;;
    $text = ereg_replace&#40;'&uuml;',"ü",$text&#41;;
    $text = ereg_replace&#40;'&Auml;',"Ä",$text&#41;;
    $text = ereg_replace&#40;'&Uuml;',"Ü",$text&#41;;
    $text = ereg_replace&#40;'&Ouml;',"Ö",$text&#41;;
    
    //emailempfänger definieren
    $mailto = "ch.beuschlein@gmx.de";
    
    //mail senden
    mail &#40;$mailto,$subject,$text&#41;;
    
    //bestätigung
    echo 'Vielen Dank für Ihre E-Mail.
    ';
    echo 'Wir werden uns bemühen, Ihre E-Mail so schnell als möglich zu beantworten. Bitte haben Sie ein wenig Geduld.
    
    </p>';
    echo 'Mit freundlichen Grüßen
    ';
    echo 'Ihr Computer, Service & Webdesign - Team';
    &#125;
    ?>
    
    <html>
    <head>
     <meta http-equiv="refresh" content="10; URL=http&#58;//xxx.xxxxxxx.xx/index.html">
    </head>
    <body>
    
    
    </p>
    
    
    </p>
    
    
    </p>
    
    
    </p>
    Sie werden in 10 Sekunden automatisch weitergeleitet...
    
    Sollten Sie nicht weitergeleitet werden, klicken Sie bitte hier.
    </body>
    </html>
    Allerdings wird hier auch eine Weiterleitung durchgeführt, wenn NICHT alle Felder ausgefüllt sind, da die Weiterleitung NICHT im PHP-Script, sondern als HTML angehängt ist. Wie bekomme ich diese Weiterleitung ins Script, unterhalb des ECHO-Textes (//bestätigung), weil nur wenn der ausgegeben wird, darf auch die Weiterleitung erfolgen.

    Danke und Gruß
    Chris
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Fortgeschrittene/r
    Registriert seit
    30.09.2006
    Beiträge
    150
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    //deine echo texte
    echo'
    <script type="text/javascript">
    function uri() {
    window.location.href ='hier das ziel mit http://';
    }
    window.setTimeout("uri()", 10000);
    </script>

    Sie werden in 10 Sekunden automatisch weitergeleitet...

    Sollten Sie nicht weitergeleitet werden, klicken Sie bitte hier. ';

    denn das Problem ist das eine weiterleitung mit php nur über den Header geht aber da du ja vorher eine ausgabe gemacht hasst wurde der header schon gesendet
    daher musst du das dann mit JavaScript machen oder mit der meta angabe !

    aber ganz ehrlich ist das script ziemlich veraltet und die Logik würde ich an deiner stelle noch mal überdenken !

    Under der Html Code der nach dem PHP End-Tag folgt kannst du dann weg lassen
    Suchst du kostenlose Scripte ?

    dann klick hier
    http://rescue-center.de

  3. #3
    Azubi(ne)
    Themenstarter

    Registriert seit
    23.10.2006
    Beiträge
    59
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Hm, irgendwie wird die Weiterleitung trotzdem aktiviert, auch wenn Fehler erkannt werden.
    Aber egal, du hast recht, so sinnvoll ist das nicht, werde es ggf. anders lösen müssen.
    Trotzdem Danke.

    <Thread kann geschlossen werden!>

  4. #4
    Meister(in)
    Registriert seit
    24.10.2006
    Beiträge
    288
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    naja..

    du hast ne if abfrage if(!isset($error))

    mach nacher einfach ein else dran und generiere eine Weiterleitung im Else Teil...



    mfg
    Andi

  5. #5
    Azubi(ne)
    Themenstarter

    Registriert seit
    23.10.2006
    Beiträge
    59
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Ahso, und wie füge ich des dann ein, und wo?

    Direkt bei der Überprüfung der Felder:

    Code:
    //falls die überprüfung in ordnung ist, email senden
    if&#40;!isset&#40;$error&#41;&#41; &#123;
    Und hier dann gleich des 'else' hinterher?

    Code:
    	&#125;
      else
    location.href="weiterleitung.htm";
    Und wie/wo kann ich dann noch einen Text hinzufügen, wenn die Weiterleitung nicht funktionieren sollte!?

    Vielleicht kannste den Code mal so schreiben, wie du es denkst, das es gehen müsste!?

    Danke.

  6. #6
    Gast

    Standard

    Code:
    echo 'Ihr Computer, Service & Webdesign - Team';
    Ist nicht dein Ernst, oder?

    Also mit den Kenntnissen solltest du dir das mit dem Webdesign (Webprogrammierung) noch mal überlegen.

    Zur Lösung:
    Code:
    <?php
    
    if &#40; !isset&#40;$error&#41; &#41; &#123;
      ....
      if &#40; mail&#40; .., .., .. &#41; &#41; &#123;
        $msg = 'Email wurde versandt! ...';
        $location = 'http&#58;//www.blablabla.de/blabla.html';
      &#125;
      else &#123;
        $msg = 'Fehler&#58; Email konnte nicht versandt werden!';
      &#125;
    &#125;
    else &#123;
      $msg = 'Fehler&#58; Bitte &uuml;berpr&uuml;fen Sie Ihre Eingaben!';
    &#125;
    
    
    ?>
    <html>
    <head>
    ...
    <?php if &#40; isset&#40; $location &#41; &#41; &#123; ?>
    <meta http-equiv="refresh" content="10; URL=<?php echo $location; ?>">
    <?php &#125; ?>
    ...
    </head>
    <body>
    ...
    <?php echo $msg; ?>
    ...
    </body>
    </html>
    So ungefähr sollte was draus werden.

    Für eine professionelle Homepage kannste das aber auch knicken. Wenn du keine Ahnung davon hast, dann nimm doch erstmal nen fertiges CMS bis du PHP auch wirklich kannst.

    MFG dolito
    http://www.way-of-lan.de

Ähnliche Themen

  1. Suche "wenn markiert" Script
    Von xXx_BaSStar_xXx im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 17.03.2006, 18:09
  2. weiterleitung, wenn java, meta nicht erlaubt sind!!!
    Von nille_2k5 im Forum HTML & CSS Forum
    Antworten: 5
    Letzter Beitrag: 14.11.2005, 23:03
  3. Java-script -- Wenn textfeld vorhande den mache ???
    Von GreenRover im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 7
    Letzter Beitrag: 11.01.2005, 09:49
  4. Wenn man mal ein Script braucht...
    Von PatrickPaulsen im Forum Script-Archiv
    Antworten: 6
    Letzter Beitrag: 06.02.2004, 16:06
  5. Wenn, ja wenn das Wörtchen Wenn nicht wär ....
    Von umbenannt im Forum Off Topic und Quasselbox
    Antworten: 5
    Letzter Beitrag: 09.11.2003, 00:16

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •