Schleife funktioniert nicht korrekt
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
all
code
datei
datenbank
dom
ergebnis
ersten beitrag
ersten post
fehler
funktionieren
getestet danke
herkunft
machen
server
set
test
update
url
verschiedenen dateien
-
Guten Tag
Meine Wenn Schleiffe will nicht so ganz funktionieren, wie ich es mir vorstelle. Was habe ich falsch gemacht.
so funktioniert es, aber nur solange ich ein echo ausgebe.
<? $u2 = $_GET['u2']; $control = $_GET['control']; ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> <?php if ($control == 0) { echo "intern"; } else { echo "extern"; } ?>
so sollte es aussehen und auch funktionieren, was es leider nicht macht.
<? $u2 = $_GET['u2']; $control = $_GET['control']; ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> <?php if ($control == 0) { echo '</head>'; echo '<frameset framespacing="0" border="0" frameborder="0" rows=100%">'; echo '<frame name="dsh" src="'.$u2.'" scrolling="auto">'; echo '</frameset>'; echo '</hhml>'; } else { echo '<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">'; echo '<meta http-equiv="refresh" content="0; URL=http://www.google.ch">'; echo '</head>'; echo '</hhml>'; } ?>
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
bei mir geht er immer in den teil, wo zu google wechselt
mein aufruf der datei sieht so aus: test.php?u2=willkommen.htm&control=0 -
Hast du mal einen Link zu deiner Testseite?
-
also hier mal den link zur Testseite http://mypage.ch.tf/testlc.php
-
Gib mal den Code, den du da jetzt gerade verwendest. Der ist ja völlig anders, als das was in deinem ersten Post steht.
-
hier der code mypage.ch.tf/testlc.txt
-
die Variable $ocontrolp bleibt bestimmt leer
-
das die variable leer bleibt ist fast unverscheinlich
-
Und wo wird diese deklariert? Sehe da kein $_GET für
-
wie wird in einer anderen datei deklariert.
den die "control" ist das ergebnis aus der anderen datei.
in der anderen datei bekommt er einen wert via GET und gleich diesen in der DB ab. ist der wert gleich, so schreibt er in "control" ein 0, ansonsten 1
in der datei wo ich gepostet habe, führt er anhand des "control" wert 0 oder 1 die homepage aus oder eben nicht -
Dann wird der Fehler wohl in dieser Datei liegen und Dein control nicht richtig übermittelt. Wenn ich Deinen geposteten Code mit der variable bestücke läuft alles so wie es soll.
Dann solltest Du uns mal den restlichen Code zeigen, vielleicht kann man dann ja besser helfen. So ist das nur raten was Du da so alles machst.
-
Also ich hab jetzt deinen Code aus Listing 2 des ersten Beitrag rauskopiert, eine Datei "willkommen.html" im selben Ordner angelegt und das getestet:
test.php?u2=willkommen.html&control=0 > Inhalt der Willkommen.html
test.php?u2=willkommen.html&control=1 > Google
Weiters:
Es sollte heißen
und nichtecho '</html>';
echo '</hhml>';
Lass dir die übergebenen Variablen ausgeben und sieh nach was drinnen steht...
Beitrag zuletzt geändert: 17.5.2015 14:57:46 von schrotti12 -
so wie es aussieht über gibt die include datei die variable nicht an der übergeordnete datei.
schaue ich was in der variable ist mit echo, funktioniert die variable einwandfrei in der datei welche ich includen möchte.
sobald ich die datei aber includet habe, bekomme ich den wert nicht in der übergeordnete datei
was ist falsch -
Es ist normalerweise kein Problem, in verschiedenen Dateien auf die gleiche Variable zuzugreifen. Beispiel:
index.php:<?php include "andereDatei.php"; echo $x;
andereDatei.php:<?php $x="Hallo Welt";
Das müsste so funktionieren.
Also, wie aff3m1tw4ff3 schon sagte: Zeige uns bitte noch den Code der eingebundenen Dateien starthost.php und testip.php -
[...] $ip = $_GET['pi']; [...] <?php if ($ocontrolp == 0) [...]
$_GET['pi'] oder vielleicht $_GET['ip'] und soll das wirklich $ocontrolp heißen, oder handelt es sich hier um einen Rechtschreibfehler???
-
konnte es anders lösen. Nun funktionierts einwandfrei.
nun brauche ich all die include nicht mehr.
<? $VIPa = $_SERVER['REMOTE_ADDR']; $sub1 = $_GET['sub']; $dom1 = $_GET['dom']; $hp = "www.$sub1.$dom1"; $server = "localhost"; $datenbank = "db"; $username = "us"; $passwort = "pw"; $sup = mysql_connect($server, $username, $passwort); $db = mysql_select_db($datenbank, $sup); $abfrage = "SELECT *FROM ip"; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) { if ( "$row->iadress"== $VIPa) { $controlp = $controlp + 1; } else { $controlp = $controlp + 0; } } $u2 = "willkommen.htm"; ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> <?php if ($controlp == 0) { echo '</head>'; //echo "intern"; echo '<frameset framespacing="0" border="0" frameborder="0" rows=100%">'; echo '<frame name="dsh" src="'.$u2.'" scrolling="auto">'; echo '</frameset>'; } else { //echo "extern"; echo '<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">'; echo '<meta http-equiv="refresh" content="0; URL=http://www.google.ch">'; echo '</head>'; } ?> </html>
stehe nun beim update an. meldet dies als fehler: Parse error: syntax error, unexpected '`' in datei.php on line 13
<? $ipn = $_SERVER['REMOTE_ADDR']; $server = "localhost"; $datenbank = "db"; $username = "us"; $passwort = "pw"; $sup = mysql_connect($server, $username, $passwort); $db = mysql_select_db($datenbank, $sup); $query = UPDATE `ip` SET `iadress`=`$ipn` WHERE `wo`="herkunft" $result = mysql_query($query); ?> Update OK
-
Versuchs mal beim Query so
$query = "UPDATE ip SET iadress='$ipn' WHERE wo='herkunft'";
Generell sei aber gesagt, mysql ist veraltet und Du solltest dringend auf mysqli oder PDO umsteigen. Ebenso ist, wie oben schon erwähnt, Dein Script anfällig für sql injection, also unbedingt noch absichern!!
LG Marco
Beitrag zuletzt geändert: 17.5.2015 23:15:39 von aff3m1tw4ff3 -
so sieht der update script aus.
wenn ich es ausgebe im echo, sieht das Updare OK aus, aber in der db wird nichts gespeichert
<? $Einguegen = 123456789; $server = "localhost"; $datenbank = "db"; $username = "us"; $passwort = "pw"; $sup = mysql_connect($server, $username, $passwort); $db = mysql_select_db($datenbank, $sup); $query = 'UPDATE ip SET iadress ='.$Einguegen.' hallo WHERE wo=winti'; mysql_query($query, $sup); echo $query; ?>
-
Zu deinem ersten Post
<? $ipn = $_SERVER['REMOTE_ADDR']; $server = "localhost"; $datenbank = "db"; $username = "us"; $passwort = "pw"; $sup = mysql_connect($server, $username, $passwort); $db = mysql_select_db($datenbank, $sup); $query = "UPDATE `ip` SET `iadress`=`$ipn` WHERE `wo`='herkunft'"; $result = mysql_query($query); ?>
Zu deinem letzten Post
<? $Einguegen = 123456789; $server = "localhost"; $datenbank = "db"; $username = "us"; $passwort = "pw"; $sup = mysql_connect($server, $username, $passwort); $db = mysql_select_db($datenbank, $sup); $query = 'UPDATE ip SET iadress ='.$Einguegen.' hallo WHERE wo="winti"'; mysql_query($query, $sup); ?>
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage