Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Portal > Foren > PHP > PHP-Programmierung > Weiterleitung funtkioniert nicht...
Antwort
 
Themen-Optionen
Alt 06.07.2005, 07:23   Nach oben    #1
cengiz
Gast
 
Beiträge: n/a
Standard Weiterleitung funtkioniert nicht...

Ich habe ein Formular wo man sich eintragen kann (wer hätte das gedacht )

Ich will wenn alles in Ordnung ist (formularüberprüfung postiv) dass die Seite dann weitergeleitet wird in mein index.php wieder.

hab mit:

PHP-Code:
<?php
//HTML- und PHP-Stuff
if ($pruf == true)
{
  
header("Location: [url]http://zieladresse/zieldatei.php"[/url]);
}
//PHP- und JS-Stuff
?>
aber er leitet es nicht weiter.

Also $pruf wird aufjedenfall true wenn die Eingaben des Formular stimmen.
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 06.07.2005, 08:28   Nach oben    #2
Ben
Erfahrener Benutzer
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
Standard Re: Weiterleitung funtkioniert nicht...

Hi,
mich stört an Deinem Code, dass vor der if-Abfrage "HTML-Stuff" steht.
Zitat:
Zitat von cengiz
PHP-Code:
<?php
//HTML- und PHP-Stuff
if ($pruf == true)
{
  
header("Location: [url]http://zieladresse/zieldatei.php"[/url]);
}
//PHP- und JS-Stuff
?>
Les mal hier:
http://php.net/header
Zitat:
Beachten Sie, dass header() aufgerufen werden muss, bevor eine Ausgabe gesendet wurde, egal ob normale HTML Tags, leere Zeilen in einer Datei oder von PHP. Ein weit verbreiteter Fehler ist mittels include(), require(), oder anderen Dateizugriffsmethoden Code zu lesen, und so unbewusst Leerzeichen oder Leerzeilen auszugeben, bevor header() aufgerufen wird. Das gleiche Problem besteht auch bei Verwendung einer einzigen PHP/HTML Datei.
Das heißt, dass im Normalfall vor der Verwendung von header() ausschließlich PHP-Code stehen darf.


Grüße Ben.

Geändert von Jann Hendrik (21.06.2007 um 17:15 Uhr). Grund: php-info.org - link entfernt.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 06.07.2005, 08:40   Nach oben    #3
cengiz
Gast
 
Beiträge: n/a
Standard Weiterleitung funtkioniert nicht...

hmm also

am anfang der datei habe ich mit javascript das desing eingefügt.
also das kann ich unmöglich wegmachen weil nun mal mit javascript das design erstellt wird.

also gibt es keien andere möglichkeit nach dem senden des formulares weiterzuleiten?

also im beispiel mit dem formular eingabe gibet ja nur PHP-Stuff aber bei mir ist halt JS und HTML drin :-/
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 06.07.2005, 11:18   Nach oben    #4
Ben
Erfahrener Benutzer
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
Standard Weiterleitung funtkioniert nicht...

Zitat:
Zitat von cengiz
hmm also

am anfang der datei habe ich mit javascript das desing eingefügt.
also das kann ich unmöglich wegmachen weil nun mal mit javascript das design erstellt wird.

also gibt es keien andere möglichkeit nach dem senden des formulares weiterzuleiten?

also im beispiel mit dem formular eingabe gibet ja nur PHP-Stuff aber bei mir ist halt JS und HTML drin :-/
Du kennst doch das oben verlinkte Tutorial.

Da beschreibe ich doch eine Möglichkeit.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 06.07.2005, 19:07   Nach oben    #5
cengiz
Gast
 
Beiträge: n/a
Standard Weiterleitung funtkioniert nicht...

also ich habs mir schon durchgelesen aber das steht ja nichts anderes also auch php.net

und so wie es gemacht hast habe ich es ja auch eigentlich...gucke ob irgendwo ein fehler ist wenn nicht leite ich weiter ansonsten noch mal zurück zum formular
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 06.07.2005, 21:08   Nach oben    #6
Ben
Erfahrener Benutzer
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
Standard Weiterleitung funtkioniert nicht...

Gibt es denn eine Fehlermeldung?
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.07.2005, 07:13   Nach oben    #7
cengiz
Gast
 
Beiträge: n/a
Standard Weiterleitung funtkioniert nicht...

also ich kriege keine fehlermeldung ausgegeben.
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 08.07.2005, 17:53   Nach oben    #8
Projektleiter
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.225
Standard Weiterleitung funtkioniert nicht...

wenn auch ungerne, poste mal hier den formatierten Code.
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.07.2005, 07:20   Nach oben    #9
cengiz
Gast
 
Beiträge: n/a
Standard Weiterleitung funtkioniert nicht...

ok...

sry das ich erst jetzt poste aber am Wochenende hab ich kein zugriff auf die Datei.

PHP-Code:
<html>
<head>
<script language="JavaScript" src="../design/slt_design.js" type="text/javascript">
</script>

<script language="JavaScript" src="../design/slt_navigation.js" type="text/javascript">
</script>

<script>
SltHead("Werk Düsseldorf / PF-SLT");
SltBodyStart();
SltBodyInit();
SltContentStart("Raumreservierung", "Reservierung","schmal");
</script>


<link rel="stylesheet" type="text/css" media="all" href="jscalendar/calendar.css" title="win2k-cold-1" />

        <!-- main calendar program -->
    <script type="text/javascript" src="jscalendar/calendar.js"></script>
        
    <script type="text/javascript" src="jscalendar/calendar.css"></script>

    <!-- language for the calendar -->
    <script type="text/javascript" src="jscalendar/lang/calendar-de.js"></script>
        
    <!-- the following script defines the Calendar.setup helper function, which makes
          adding a calendar a matter of 1 or 2 lines of code. -->
    <script type="text/javascript" src="jscalendar/calendar-setup.js"></script>
</head>

<h3>Meeting-Raum reservieren</h3>
<body>
<?php
$pruf 
true;
$vorhanden false;
if (!isset(
$_POST["submit"]))
{

echo 
'<form name="formular" method="POST">
    <table border="0">
        <tr>
            <td>Vorname:</td>
            <td><input name="vname" type="text"></td>
        </tr>
        <tr>
            <td>Name:</td>
            <td><input name="name" type="text"></td>
        </tr>
        <tr>
            <td>Datum:</td>
            <td><input name="datum" id="f_datum" type="text" onchange="document.form_news.new_rem_start_date.value=document.form_news.new_
            start_date.value">
            <img src="jscalendar/img.gif" id="start" style="cursor: pointer; border: none;" title="Datum auswählen"><font size="-3">&nbsp;(z.B. 07.09.2005)</font></td></td>
        </tr>
        <tr>
            <td>Uhrzeit von:</td>
            <td><input name="uhrzeitvon" type="text"><font size="-3">&nbsp;(z.B. 08:00)</font></td>
        </tr>
        <tr>
            <td>Uhrzeit bis:</td>
            <td><input name="uhrzeitbis" type="text"><font size="-3">&nbsp;(z.B. 09:00)</font></td>
        </tr>
        <tr height="50">
            <td><input name="submit" type="submit" value="Eintragen"></td>
            <td><input name="reset" type="reset" value="Löschen"></td>
        </tr> 
    </table>
</form>'
;



}
else
{
  
$file   "csv/reservierung.csv";
  
$vname  $_POST["vname"];
  
$name   $_POST["name"];
  
$datum  $_POST["datum"];
  
$zeitv  $_POST["uhrzeitvon"];
  
$zeitb  $_POST["uhrzeitbis"];
  
$datZ   explode("."$datum);
  
$date   date('Y');
  
$now   time();
  if (
$vname == "")
  { echo 
"<p><b>Vornamen bitte eingeben!</b></p>";
    
$pruf false;
  }
  if (
$name == "")
  { echo 
"<p><b>Namen bitte eingeben!</b></p>";
    
$pruf false;
  }    
  if (
$datum == "")
  { echo 
"<p><b>Ein Datum bitte eingeben!</b></p>";
    
$pruf false;
  }
  else
  { 
      if  (!
ereg("([0-9]{2}).([0-9]{2}).([0-9]{4})"$datum))
    {
      echo 
"<p><b>Eingabeformat des Datums stimmt nicht!</b></p>";
      
$pruf false;
    }
    else
    {
      if ( 
$datZ[0] >= 32  
      {    echo 
"<p><b>Ungültiger Tag!</b></p>";
        
$pruf false;
      }
      if ( 
13 <= $datZ[1])
      {    echo 
"<p><b>Ungültiger Monat!</b></p>";
        
$pruf false;
      }
      if (
$datZ[2] < $date)
      {    echo 
"<p><b>Ungültige Jahreszahl!</b></p>";
        
$pruf false;
      }    
    }
  }      
    
 
  if (
$zeitv == "")
  {    echo 
"<p><b>Zeitangabe fehlt!</b></p>";
    
$pruf false;
  }
  else
  { 
    if (!
ereg("([0-9]{2}:(([0-9]{2})"$zeitv))
    {    echo 
"<p><b>Eingabeformat der Uhrzeit berücksichtigen!</b></p>";
        
$pruf false;
    }
    else
    {
      if (
$zeitvZ[0] >= 24 || $zeitvZ[1] > 59 || $zeitbZ[0] >= 24 || $zeitbZ[1] > 59)
      {
        echo 
"<p><b>Uhrzeit ungültig!</b></p>";
    
$pruf false;
      }
      else
      {
    if (
$zeitbZ[0] < $zeitvZ[0])
    {
      echo 
"<p><b>'<i>Uhrzeit bis</i>' darf nicht kleiner als '<i>Uhrzeit von</i>' sein!</b></p>";
      
$pruf false;
    }
      }
    }
  }

  if (
$zeitb == "")
  {    echo 
"<p><b>Zeitangabe fehlt!</b></p>";
    
$pruf false;
  }
  else
  {  if (!
ereg("([0-9]{2}:(([0-9]{2})"$zeitb))
    {    echo 
"<p><b>Eingabeformat der Uhrzeit berücksichtigen!</b></p>";
        
$pruf false;
    }
  }

  if (
$pruf == true)
  { 
$file "csv/reservierung.csv";
    
$handle fopen($file'r');
    
$vorhanden file($file);
    while ( (
$data fgetcsv($handlefilesize($file), '-') ) != false )
    {
      
$daten[]        = $data;
      
$datumF         explode('.'$data[2]); 
      
$uhrzBisF       explode(':'$data[4]);
      
$uhrzVonF       explode(':'$data[3]);
      
$timestmpBisF[] = mktime($uhrzBisF[0], $uhrzBisF[1], 0$datumF[1], $datumF[0], $datumF[2]);
      
$timestmpVonF[] = mktime($uhrzVonF[0], $uhrzVonF[1], 0$datumF[1], $datumF[0], $datumF[2]);
      
$timestmpDatF[] = mktime(000$datumF[1], $datumF[0], $datumF[2]);
    }                                        
    
fclose($handle);
    
$datumFrm        explode('.'$datum);
    
$uhrzVonFrm      explode(':'$zeitv);
    
$uhrzBisFrm      explode(':'$zeitb);
    
$timestampVonFrm mktime($uhrzVonFrm[0], $uhrzVonFrm[1], 0$datumFrm[1], $datumFrm[0], $datumFrm[2]);
    
$timestampBisFrm mktime($uhrzBisFrm[0], $uhrzBisFrm[1], 0$datumFrm[1], $datumFrm[0], $datumFrm[2]);
    
$timestampDatFrm mktime(000$datumFrm[1], $datumFrm[0], $datumFrm[2]);
    
    if (
$timestampDatFrm == (mktime(000date('n'), date('j'), date('Y')))) 
    {
      if (
$timestampVonFrm $now)
      {  echo 
"<p><b>Die Urhzeit liegt in der Vergangenheit!</b><br></p>";
        
$pruf false;
     
      }
    }
    
    for (
$i 0$i < (count($timestmpDatF)); $i++)  {
      
      if (
$timestmpDatF[$i] == $timestampDatFrm)
      {  
    if (
$timestampVonFrm >= $timestmpVonF[$i] && $timestampBisFrm <= $timestmpBisFrm[$i])
    {  echo 
"<p><b>Sie überschneiden sich mit dem folgendem Termin:</b></p><br>";
       
$pruf false;
       
$string explode('-',$vorhanden[$i]);
       echo 
"<p><b>$string[0] $string[1]&nbsp;&nbsp;&nbsp;&nbsp; $string[2]&nbsp;&nbsp;<i> $string[3]-$string[4] Uhr</i></b></p>";
       break;
    }
        
    if (
$timestampVonFrm <= $timestmpVonF[$i] && $timestampBisFrm <= $timestmpBisF[$i] && $timestampBisFrm $timestmpVonF[$i])
    { echo 
"<b>Sie überschneiden sich mit dem folgendem Termin:</b><br>";
      
$pruf false;
      
$string explode('-',$vorhanden[$i]);
      echo 
"<p><b>$string[0] $string[1]&nbsp;&nbsp;&nbsp;&nbsp; $string[2]&nbsp;&nbsp;<i> $string[3]-$string[4] Uhr</i></b></p>";
      break;
        }
        
        if (
$timestampVonFrm >= $timestmpVonF[$i] && $timestampBisFrm <= $timestmpBisF[$i] && $timestampBisFrm $timestmpVonF[$i])
        { echo 
"<b>Sie überschneiden sich mit dem folgendem Termin:</b><br>";
      
$pruf false;
      
$string explode('-',$vorhanden[$i]);
      echo 
"<p><b>$string[0] $string[1]&nbsp;&nbsp;&nbsp;&nbsp; $string[2]&nbsp;&nbsp;<i> $string[3]-$string[4] Uhr</i></b></p>";
      break;
        } 

    if (
$timestampVonFrm >= $timestmpVonF[$i] && $timestampVonFrm $timestmpBisF[$i] && $timestampBisFrm $timestmpVonF[$i])
    { echo 
"<b>Sie überschneiden sich mit dem folgendem Termin:</b><br>";
      
$pruf false;
      
$string explode('-',$vorhanden[$i]);
      echo 
"<p><b>$string[0] $string[1]&nbsp;&nbsp;&nbsp;&nbsp; $string[2]&nbsp;&nbsp;<i> $string[3]-$string[4] Uhr</i></b></p>";
      break;
        }
      }
    
   } 
  }

    if (
$pruf == true)
    { 
      
$wtage = array("Monday"=>"Montag""Tuesday"=>"Dienstag""Wednesday"=>"Mittwoch""Thursday"=>"Donnerstag""Friday"=>"Freitag""Saturday"=>"Samstag""Sunday"=>"Sonntag");
    
      
$date explode('.'$datum);
      
$wochentag getdate(mktime(000$date[1], $date[0], $date[2]));
      
$wtagE $wochentag["weekday"];
      
$zeiger fopen($file"a");
      
fwrite($zeiger"".$vname."-".$name."-".$datum."-".$zeitv."-".$zeitb."-".$wtage[$wtagE]."\n");
      
//echo "<b>Die Reservierung wurde berücksichtigt</b>";
      
fclose($zeiger);
      
header("Location: [url]http://IP-Adresse/neu/reservierung/index.php"[/url]);
    }
        print 
"<form name='formular' method='POST'>
                <table border='0'>
                <tr>
                    <td>Vorname:</td>
                    <td><input name='vname' type='text' value='$vname'></td>
                </tr>
                <tr>
                    <td>Name:</td>
                    <td><input name='name' type='text' value='$name'></td>
                </tr>
                <tr>
                    <td>Datum:</td>
                    <td><input name='datum' id='f_datum' type='text' value='$datum'>
            <img src='jscalendar/img.gif' id='start' style='cursor: pointer; border: none;' title='Datum auswählen'><font size='-3'>&nbsp;(z.B. 07.09.2005)</font></td></td>
                </tr>
                <tr>
                    <td>Uhrzeit von:</td>
                    <td><input name='uhrzeitvon' type='text' value='$zeitv'><font size='-3'>&nbsp;(z.B. 08:00)</font></td>
                    </tr>
                    <tr>
                        <td>Uhrzeit bis:</td>
                        <td><input name='uhrzeitbis' type='text' value='$zeitb'><font size='-3'>&nbsp;(z.B. 09:00)</font></td>
                    </tr>
                    <tr height='50'>
                        <td><input name='submit' type='submit' value='Eintragen'></td>
                        <td><input name='reset' type='reset' value='Löschen' onClick='return loschen()'></td>
                    </tr> 
            </table>
        </form> "
;
    }

echo 
"
<script type='text/javascript'>
    Calendar.setup({
            inputField     :    'f_datum',         
            ifFormat       :    '%d.%m.%Y',     
            button         :    'start',   
            singleClick    :     false                   
        });
</script>"
;
?>    
<script>
SltLinkboxStart();
SltLinkboxLink("Reservierungen anzeigen", "index.php");
 

SltLinkboxEnde("Reservierung");
SltBodyEnde();
</script>
</body>
</html>
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.07.2005, 10:14   Nach oben    #10
Projektleiter
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.225
Standard Re: Weiterleitung funtkioniert nicht...

error_reporting
Du solltest zu Beginn des Skriptes folgendes stehen haben:
PHP-Code:
<?php
  error_reporting
(E_ALL);
?>
Dann werden dir Fehler im PHP-Code angezeigt. Dann weißt du, was du noch beseitigen musst.
http://de2.php.net/error_reporting
Ebenso kann man das auch in die config-Datei schreiben, wenn diese auf jeder Seite zu Beginn eingebunden wird.
Mögliche Fehler die dann auftreten und wie man sie beheben kann:
Notice: Use of undefined constant ...
Notice: Undefined variable ...




und zu header();
Zitat:
Zitat von Ben
Les mal hier:
http://php.net/header
Zitat:
Beachten Sie, dass header() aufgerufen werden muss, bevor eine Ausgabe gesendet wurde, egal ob normale HTML Tags, leere Zeilen in einer Datei oder von PHP. Ein weit verbreiteter Fehler ist mittels include(), require(), oder anderen Dateizugriffsmethoden Code zu lesen, und so unbewusst Leerzeichen oder Leerzeilen auszugeben, bevor header() aufgerufen wird. Das gleiche Problem besteht auch bei Verwendung einer einzigen PHP/HTML Datei.
Das heißt, dass im Normalfall vor der Verwendung von header() ausschließlich PHP-Code stehen darf.
Da wird für dich keine Ausnahme gemacht!
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.07.2005, 10:48   Nach oben    #11
cengiz
Gast
 
Beiträge: n/a
Standard Weiterleitung funtkioniert nicht...

danke für deine antowrt

ich sitz im praktikum und hier gibt es überhaupt keinerlei Ausgabe der Fehlermeldung auch wenn ich error_reporting(E_ALL) einbinden. habe ich shcon versucht aber geht auch nicht.

ja zum header...

ja ich weiß ja das ich am Anfang include und ausgaben habe und ich brauche aber irgendwie trotzdem ne weiterleitung...

gibt es keine möglich keit via javascript oder HMTL sowas zu machen...

eigentlich ist es mir egal wie man es löst hauptsache es funtkioniert nach dem ich den button drücke und alles richtig ist.
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.07.2005, 11:00