php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 10.04.2006, 17:16  
Neuer Benutzer
 
Registriert seit: 10.04.2006
Beiträge: 6
MadMick79
Standard Seitenaufruf aus IF-Abfrage

Hallo zusammen. Habe folgendes Problem(chen):
In einem PHP-Script, dem über die URL eine Sachnummer übergeben wird soll geprüft werden, ob diese SNR bereits in einer Datenbank angelegt ist. Wenn nicht, soll eine Seite mit einem Eingabeformular für die Sachnummerdaten aufgerufen werden, ansonsten eine Seite, wo die Daten und noch ein paar andere zugehörige Details angezeigt werden. Nun weiss ich aber nicht wie ich die Seite aus dem PHP-Script aufrufen soll. Habe bereits folgendes probiert:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>

<? include "./inc/DB1Connect.inc.php" ?>

<?
$SNR = $_GET['snr'];
$strSQL="SELECT COUNT(snr) FROM tblSDS_SNR WHERE snr = '$SNR'";

Conn();
if($Conn)
{
//prüfen ob übergebene SNR bereits existiert
mysql_select_db($dbname);
$erg=@mysql_query($strSQL);
$row=mysql_fetch_row($erg);
//falls SNR noch nicht existiert, Seite zum Daten erfassen aufrufen
if($row[0]<1)
{
header("Locationaten_erfassen.html");
};

Disconn();
};
?>


<TITLE>
</TITLE>
</HEAD>
<BODY>
</BODY>
</HTML>


Nur die Angelegenheit mit dem Header funzt irgendwie ned. Hab ich da noch irgendwas falsch gemacht? Oder gibts hierfür eine bessere Lösung?

Danke schon mal im Vorraus.
MadMick79 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 10.04.2006, 17:59  
Neuer Benutzer
 
Registriert seit: 07.11.2005
Beiträge: 27
BaedDog
BaedDog eine Nachricht über ICQ schicken
Standard

1) Bezweifel ich das es sich hier um ein "Fortgeschrittene"s Problem handelt
2) Soweit ich dich verstanden hab, sollte es reichen wenn du das "header("Location: ...")" durch ein include bzw. require ersetzt.
BaedDog ist offline  
Alt 10.04.2006, 18:08  
Gast
 
Beiträge: n/a
Standard

Zitat:
Nur die Angelegenheit mit dem Header funzt irgendwie ned
Welch grandiose Fehlerbeschreibung.

Du bekommst bestimmt eine Fehlermeldung mit "headers already sent". Als Fortgeschrittener müsste dir klar sein, dass das eine Standardfehlermeldung ist, die in jedem Forum schon x-mal besprochen wurde und somit per Suchfunktion des Forums eine Lösung zu finden ist. Aber genau genommen, sollte einem Fortgeschrittenen diese Fehlermeldung auch ohne Suche etwas sagen.

Gruß
phpfan
 
Alt 10.04.2006, 18:14  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Hallo und willkommen im Forum

bitte beachte bevor du postest
- welches Forum du benutzt - im Zweifelsfall das Anfänger-Forum
- benutz die BBCode-Tags [php] oder [code] (beide zusammen verursachen leider noch einen Fehler) - dadurch wird dein Code lesbarer
- eine ausführliche Fehlerbeschreibung zu schreiben - wenn PHP dir einen Fehler liefert gibt es keinen Grund diesen zu verheimlichen bzw. vorher nicht in Google nachzuschlagen
- Soll & Ist-Zustand nennen

Diese "Regeln" haben übrigens einen Grund: Wir können dir dann besser helfen, ich verstehe nämlich nicht was dein Problem ist und hab auch nicht so Lust zu raten
Ich hoffe du fühlst dich nicht angepisst, es ist halt einfach so :P
Zergling-new ist offline  
Alt 10.04.2006, 18:44  
Neuer Benutzer
 
Registriert seit: 10.04.2006
Beiträge: 6
MadMick79
Standard

Also:
Erst mal sorry für die falsche Wahl des Forums.
Also hier nochmal alles was ich weiß (!?!)

Fehlermeldung bekomme ich keine, sondern nur eine leere Seite in der oben der Link http://www.blabla.de/PHP_Look_If_SNR...hp?snr=1234568 steht. Also immer noch die Seite, die die Abfrage macht.
Wenn ich dann den Quellcode der Seite anzeigen lasse steht da einfach nur folgendes drinnen:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>




<TITLE>
</TITLE>
</HEAD>
<BODY>
</BODY>
</HTML>

Also alles was man für eine leere Seite braucht *grml*

Und genau dies ist mein Problem, weil es soll ja nicht die Seite angezeigt werden sondern auf eine andere Seite "Daten_erfassen.html" umgeleitet werden, wo dann das Formular zum Daten erfassen drin steht.

Ich hoffe die Informationen sind so ausreichender.

Gruß,
Carlo
MadMick79 ist offline  
Alt 10.04.2006, 18:49  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Hinter header('Location: ..'); setzt man ein exit;
Das stellt sicher, dass die Weiterleitung auch wirklich der letzte Skript-Befehl ist.

Außerdem ist dein Seitenkonstrukt schon falsch. Du gibst HTML-Code aus, führst dann dein Skript aus, das feststellt es soll doch eine Weiterleitung geben. Das geht so nicht.

Erst die PHP-Verarbeitung, dann die Ausgabe von HTML-Code oder eben die Weiterleitung!
Außerdem kann es ja auch sein, dass $Conn nicht TRUE ist und somit ja dein Ergebnis offenbar zustande kommt.
Ich kann mir aber nicht vorstellen, dass du das nicht schon überprüft hast, das wäre nun wirklich - Naja.

Außerdem solltest du in deiner php.ini das error_reporting auf E_ALL setzen!
Zergling-new ist offline  
Alt 10.04.2006, 18:59  
Neuer Benutzer
 
Registriert seit: 10.04.2006
Beiträge: 6
MadMick79
Standard

So, jetzt sieht des ganze folgendermassen aus, Effekt ist immer noch der gleiche

PHP-Code:
<? include "./inc/DB1Connect.inc.php" ?>

<?
   $SNR 
$_GET['snr']; 
   
$strSQL="SELECT COUNT(snr) FROM tblSDS_SNR WHERE snr = '$SNR'";
                            
    
Conn();
    if(
$Conn)
      {
         
//prüfen ob übergebene SNR bereits existiert
         
mysql_select_db($dbname);
         
$erg=@mysql_query($strSQL);
         
$row=mysql_fetch_row($erg);
         
//falls SNR noch nicht existiert, Seite zum Daten erfassen aufrufen
                 
if($row[0]<1)
                 {
                     
header('Location:Daten_erfassen.html');
                    exit;                    
                 };
                
         
Disconn(); 
        };
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<TITLE>
</TITLE>
</HEAD>
<BODY>
</BODY>
</HTML>

Die Schleife wird übrigens Ausgeführt, das hab ich schon getestet mit echo-Ausgabe...
MadMick79 ist offline  
Alt 10.04.2006, 19:25  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Debug doch einfach mal. Offenbar kommst du nicht in den Block mit der Weiterleitung.
Also ist die Bedingung $row[0] < 1 falsch.

Wozu auch die Fehlerunterdrückung durch @?
print_r($row) sollte auch Aufschluss geben.
Zergling-new ist offline  
Alt 10.04.2006, 19:38  
Neuer Benutzer
 
Registriert seit: 10.04.2006
Beiträge: 6
MadMick79
Standard

Ja ne, in den Block komm ich schon rein, hab i grad nochmal getestet. also des funzt scho *ratlosbin*. Kann des evtl mit 1und1 zusammenhängen? weil bei denen hab i mein server...
MadMick79 ist offline  
Alt 10.04.2006, 19:53  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Ich denke eher es war das exit;
Zergling-new 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
Abfrage von einer Abfrage Datenbanken 5 27.01.2011 23:31
mysql abfrage in Schleife havok PHP Tipps 2006 6 09.05.2006 08:39
abfrage begrenzen Cyrus Datenbanken 4 26.10.2005 11:29
[Erledigt] mysql abfrage über 4 Tabelle - bis 3 geht, bei der 4. habert Datenbanken 2 08.09.2005 11:59
Abfrage in array? BartTheDevil89 Datenbanken 5 10.05.2005 14:21
[Erledigt] IF() abfrage in variable packen PHP Tipps 2005 14 01.04.2005 17:23
Abfrage von Char-Feldern Datenbanken 9 04.02.2005 14:06
[Erledigt] SQL Abfrage funzt nicht Datenbanken 2 04.02.2005 11:09
[Erledigt] Mysql Abfrage Problem! PHP-Fortgeschrittene 5 27.11.2004 10:22
Abfrage funktioniert zwar, aber nicht korrekt Datenbanken 2 16.08.2004 09:10
Abfrage aus DB noch mal ausgeben und Abfrage aus mehrern Tab PHP Tipps 2004 4 12.07.2004 15:00
komplizierte mySQL Abfrage Datenbanken 6 25.06.2004 15:34
[Erledigt] Fehlerhafte Abfrage ? Datenbanken 15 24.06.2004 17:10
[Erledigt] mysql Abfrage Datenbanken 5 18.06.2004 14:16
[Erledigt] Variable per GET übergeben und DB Abfrage nutzen PHP Tipps 2004 4 01.06.2004 15:17

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php if abfrage für ersten seitenaufruf, seitenaufruf in if, php seitenaufruf in if, ersten seitenaufruf abfragen php

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:34 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.