php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.07.2009, 15:52  
Neuer Benutzer
 
Registriert seit: 23.07.2009
Beiträge: 18
PHP-Kenntnisse:
Anfänger
nilsk befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Umleitung / redirect auf Seite 01, oder "if" Seite 02. Wie geht das?

Hallo liebe PHP-Experten,

ich bin eigentlich Anfänger in PHP und baue gerade meine erste PHP-Seite.

Es klappt auch soweit ganz gut. Aber eine Sache nicht.

Folgendes funktioniert bereits:

1. Formular wird korrekt ausgefüllt => Erfolgsmeldung (habe ich schon fertig; funktioniert) => Umleitung (redirect) auf "http://meine_Seite_01"
Das klappt schon, und zwar mit:
Code:
<meta HTTP-EQUIV="REFRESH" content="5; url=http://meine_Seite_01">
... im <Head> Bereich eingefügt. Das ist kein Problem.
- - - - - - - -

Jetzt würde ich aber gerne:

2. Formular wird NICHT korrekt ausgefüllt => Fehlermeldung (habe ich schon fertig; funktioniert) => Umleitung auf "http://meine_Seite_02"
... hier fehlt mir eine "IF" Bedingung oder so etwas ... wahrscheinlich lässt sich das mit HTML nicht umsetzen.

(Das ist der Punkt an dem ich momentan nicht weiter komme.)
- - - - - - - -

Erklärung / Sinn der Sache:
Seite_01: Weiterführende Tipps auf meiner Webseite
Seite_02: Zurück zum Formular.

Frage: Wie mache ich das?
- - - - - - - -

Vermutung: Wahrscheinlich komme ich da mit <meta HTTP-EQUIV="REFRESH" nicht aus, richtig?

... Wie muss ich das anstellen?

Die Variablen, die ich (so vermute ich) ansteuern KÖNNTE, wären:
(Auszüge aus meinem Code, an dem ich gerade bastele):

Code:
if($_POST['Send'])
{
   if(empty($_POST['Name']) || empty($_POST['Email'])  )
   {
      echo"Hier habe ich HTML eingefügt mit einer Fehlermeldung"
(Falsch ausgefüllt => "empty" => soll auf Seite_02 umleiten)

oder
Code:
if ($_POST['Siteid']=='1'){
echo"Hier habe ich HTML eingefügt mit einer Erfolgs-Meldung"
(Richtig ausgefüllt => "Siteid => soll auf Seite_01 umleiten)

Geht das? ... Wenn ja, wie kann ich das machen?


Grüße
Nils
P.S.: Eine "Schritt-für-Schritt"-Anleitung wäre super. Habe nie PHP gelernt und variiere momentan nur, was mir logisch erscheint ...
nilsk ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 23.07.2009, 16:04  
Erfahrener Benutzer
 
Registriert seit: 13.05.2009
Beiträge: 1.166
PHP-Kenntnisse:
Fortgeschritten
dennis81 befindet sich auf einem aufstrebenden Ast
Standard

Lies dir mal etwas zum Thema Affenformular durch. Ich kenne die hier so oft verwendeten Links dazu aber nicht.

Hier z.B. http://www.php.de/wiki-diskussionsfo...verfahren.html (Affenformular (Standardverfahren)) und hier http://www.php.de/wiki-php/index.php...rdverfahren%29
dennis81 ist offline  
Alt 23.07.2009, 17:48  
Neuer Benutzer
 
Registriert seit: 23.07.2009
Beiträge: 18
PHP-Kenntnisse:
Anfänger
nilsk befindet sich auf einem aufstrebenden Ast
Standard

Hallo dennis81,

danke für den Versuch der Hilfe.

Das bringt mich allerdings leider nicht weiter.

Ich verstehe nicht, wie ich damit ein Formular programmieren kann, dass
sich selbst aufruft (das wäre ja EINE Lösung; allerdings weiß ich auch nicht,
ob das im Joomla funktioniert).

Ich möchte eigentlich "nur":
* Die Felder OHNE "validate" durchlaufen lassen
* Bei "Erfolgsmeldung" auf die EINE Seite linken und bei
* "Fehlermeldung" auf die ANDERE Seite linken.

... Ich verstehe, dass ... theoretisch ... das Affenformular dafür eine Lösung
wäre (bei Fehler => Selbst-Aufruf; bei Erfolg => neue Seite und einfache Umleitung) ...

... allerdings raffe ich nicht, was ich / wie bei mir in's PHP rein schreiben müsste.

Hat noch jemand eine Lösung? Das wäre klasse!

Grüße
Nils

P.S.: FALLS jemand rein schreiben möchte(?), hier der Code, an dem ich gerade arbeite:

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//DE"
     "http://www.w3.org/TR/html4/strict.dtd">
<html>

<html><head>
<title>meine Webseite Email Form</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<meta name="author" content="meine Webseite ">
<meta name="keywords" lang="de" content="meine Webseite"> 
<meta name="robots" content="noindex">
<meta name="robots" content="nofollow">

<link rel="stylesheet" href="/templates/beez/css/template.css" type="text/css" />
	<link rel="stylesheet" href="/templates/beez/css/position.css" type="text/css" media="screen,projection" />
	<link rel="stylesheet" href="/templates/beez/css/layout.css" type="text/css" media="screen,projection" />
	<link rel="stylesheet" href="/templates/beez/css/print.css" type="text/css" media="Print" />
	<link rel="stylesheet" href="/templates/beez/css/general.css" type="text/css" />
		<!--[if lte IE 6]>
		<link href="/templates/beez/css/ieonly.css" rel="stylesheet" type="text/css" />
	<![endif]-->
	<!--[if IE 7]>
		<link href="/templates/beez/css/ie7only.css" rel="stylesheet" type="text/css" />
	<![endif]-->
	<script type="text/javascript" src="/templates/beez/javascript/md_stylechanger.js"></script>
<meta HTTP-EQUIV="REFRESH" content="7; url=meine_Seite_01">
</head>
<body>



<?php

$Empfaenger = "meine Mailadresse";

if($_POST['Send'])
{
   if(empty($_POST['Name']) || empty($_POST['Email'])  )
   {
      echo"<table bordercolor='#DD0000' bgcolor='#FFFFE0' style='width: 450px; height: 100px; border-width: 3px; margin-left: 250px; margin-top: 200px;' class='contentpane' cellpadding='5' border='0'>
<tbody>
<tr>
<td><p style='text-align: center; margin-top: 20px; margin-bottom: 20px; margin-left: 45px;'><strong><FONT COLOR='#000000'><h2>Fehlermeldung<br />
</td>
</tr>
</tbody>
</table>";
   }
   else
   {
      $Mailnachricht = "Sie haben folgende Nachricht erhalten: \n\n";
      while(list($Formularfeld, $Wert)=each($_POST))
      {
         if($Formularfeld!="Send")
         {
            $Mailnachricht .= $Formularfeld.": ".$Wert."\n";
         }
      }
      $Mailnachricht .= "\nDatum/Zeit: ";
      $Mailnachricht .= date("d.m.Y H:i:s");
      $Mailnachricht .= $_POST['message'];
      
      $Mailbetreff = "Anfrage: ";
      $Mailbetreff .= $_POST['subject'];
      mail($Empfaenger, $Mailbetreff, $Mailnachricht, $_POST['Email']);
 

if ($_POST['Siteid']=='1'){
echo"
<table bordercolor='#DD0000' bgcolor='#FFFFE0' style='width: 450px; height: 100px; border-width: 3px; margin-left: 250px; margin-top: 200px;' class='contentpane' cellpadding='5' border='0'>
<tbody>
<tr>
<td><p style='text-align: center; margin-top: 20px; margin-bottom: 20px; margin-left: 45px;'><strong><FONT COLOR='#000000'>Erfolgsmeldung<br />
<br />
- - - - - - 
<br />
You will be redirected to<br /><a href='meine_Seite_01' title='meine_Seite_01'>'meine_Seite_01'</a><br />... within the next 10 seconds.<br />
</td>
</tr>
</tbody>
</table>";
}


if ($_POST['SITEID']=='2'){
echo"

<h2>Erfolgsmeldung 2. (Diesen Teil hat ein Freund programmiert, 
von dem ich diesen Code habe und ihn jetzt variiere</p>";
}



}
}

else
{
   echo"<table bordercolor='#DD0000' bgcolor='#FFFFE0' style='width: 450px; height: 100px; border-width: 3px; margin-left: 250px; margin-top: 200px;' class='contentpane' cellpadding='5' border='0'>
<tbody>
<tr>
<td><p style='text-align: center; margin-top: 20px; margin-bottom: 20px; margin-left: 45px;'><strong><FONT COLOR='#000000'><h2>Fehlermeldung<br />
</td>
</tr>
</tbody>
</table>";
}

?>



<!--GoogleAnalytics-->



</body>
</html>
nilsk ist offline  
Alt 24.07.2009, 02:24  
Benutzer
 
Registriert seit: 23.07.2009
Beiträge: 39
PHP-Kenntnisse:
Anfänger
woggly4 befindet sich auf einem aufstrebenden Ast
Standard

Hm, mir kam jetzt spontan folgendes in den Sinn:

Zuerst erstellst du in einer html Datei ein Formular - z.B.
HTML-Code:
<html>
<form action="check.php" method="post">
<input type="text" size="50" name="eingabe">
<input type="submit" value="Ok">
</form>
</html> 
Nun erstellst du eine 'check.php' mit folgendem Inhalt:
PHP-Code:
<?
if(empty($_POST['eingabe']))
{
header("Location: seite02.txt");
exit; 
}
else
{
header("Location: seite01.txt");
exit;
}
?>
Wurde beim Formular nichts eingegeben, wird auf 'seite02.txt' weitergeleitet, anderenfalls auf 'seite01.txt'.
Die check.php liegt quasi nur auf deinem Server und reguläre User bekommen von dieser Datei nichts mit, sofern sie sich nicht den Quellcode der html-Datei ansehen.
woggly4 ist offline  
Alt 25.07.2009, 17:51  
Neuer Benutzer
 
Registriert seit: 23.07.2009
Beiträge: 18
PHP-Kenntnisse:
Anfänger
nilsk befindet sich auf einem aufstrebenden Ast
Standard

Hallo woggly4,

ich verstehe das leider nicht. Habe zu wenig Wissen über PHP
um das nachvollziehen zu können.

Daher makiere ich einfach mal als "gelöst".

Grüße
Nils
nilsk ist offline  
Alt 25.07.2009, 17:57  
Benutzer
 
Registriert seit: 23.07.2009
Beiträge: 39
PHP-Kenntnisse:
Anfänger
woggly4 befindet sich auf einem aufstrebenden Ast
Standard

Was genau verstehst du denn nicht?

Mit der HTML-Datei erstellst du ein Formular, und gibst dem Eingabefeld den Namen 'eingabe'.
In php kannst du nun die getätigte Eingabe mit
PHP-Code:
$_POST['eingabe'
abfragen. In meinem Code oben, überprüft das Script, ob eine Eingabe erfolgte oder ob das Formular leer geblieben ist. Im letzten Fall leitet das Script auf die Datei 'seite02.txt' weiter - exit(); beendet ab da das Script. Erfolgte allerdings eine Eingabe (die Bedingung ist also nicht erfüllt), wird auf die Datei 'seite01.txt' weitergeleitet.

Verstanden? Wenn nicht, erkläre mir, wo du Probleme hast.
woggly4 ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
<form> anderer Seite auslesen? tesim JavaScript, Ajax und mehr 8 25.04.2009 14:57
Seite a.php von Seite b.php automatisch aktualisieren lassen? Registrierer PHP Tipps 2009 6 15.04.2009 12:39
[Erledigt] Header Location funktioniert nicht, wenn div's oder span's auf der Seite s phpels PHP Tipps 2008 24 01.12.2008 00:16
PHP SELF oder redirect auf überprüfende Seite? Carino PHP Tipps 2008 16 06.10.2008 13:21
Hilfe, Seite im Internet Explorer Buggy trowman HTML, Usability und Barrierefreiheit 4 15.09.2008 08:32
Bei richtiger Eingabe Daten an nächste Seite versenden xx_heidi_xx PHP Tipps 2008 49 27.05.2008 14:56
Krieg kein Objekt zurück auf includeter Seite NONNNNN PHP Tipps 2008 5 28.03.2008 19:25
Eintrag in DB und Wechsel zu anderer Seite Darson PHP Tipps 2008 25 14.01.2008 16:46
exec; seite bleibt hängen...auch mit umleitung Crypi PHP Tipps 2006 7 20.12.2006 21:14
Welche seite (Adresse) rief die aktuelle seite auf? PHP Tipps 2005-2 7 05.07.2005 15:02
Seite in Seite PHP-Fortgeschrittene 3 15.03.2005 19:27
Fehlerhandlungsfunktion - Umleitung auf neue Seite MerlinderZauberer PHP-Fortgeschrittene 4 11.01.2005 20:37
Seite nicht mit content="3600" im Cache gespeicher scheibo PHP Tipps 2004 0 19.07.2004 14:49
[Erledigt] PHP Eine neue PHP seite automatisch öffnen PHP Tipps 2004 1 19.06.2004 12:40

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
http://www.php.de/php-einsteiger/57388-erledigt-umleitung-redirect-auf-seite-01-oder-if-seite-02-wie-geht-das.html, umleitung redirect, analytics problem http-equiv=\refresh\, java formular redirect mit ausgefüllten eingabefeldern, umleitungen von e-mails nachvollziehen, redirect mit if, html umleitung redirect code, seitenumleitung für http fertig, html form an function umleiten, meta refresh joomla selbstaufruf, $_post umleiten, stylesheet umleitung, css style sheet bei aufruf umleiten, php erfolgsmeldung e-mail

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:22 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum