kostenloser Webspace werbefrei: lima-city


Schleife funktioniert nicht korrekt

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    internetplattform

    internetplattform hat kostenlosen Webspace.

    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>';
    }
    ?>
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Morgens,

    was genau ist denn bei Dir der Fehler? Ich habe den Code bei mir mal getestet und er macht das was er soll. Wie übergibst Du denn
    $u2
    ?

    Was Du noch machen solltest ist die Übergabe durch GET absichern. (htmlspecialchars).
    LG Marco
  4. Autor dieses Themas

    internetplattform

    internetplattform hat kostenlosen Webspace.

    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
  5. Hast du mal einen Link zu deiner Testseite?
  6. Autor dieses Themas

    internetplattform

    internetplattform hat kostenlosen Webspace.

    also hier mal den link zur Testseite http://mypage.ch.tf/testlc.php
  7. Gib mal den Code, den du da jetzt gerade verwendest. Der ist ja völlig anders, als das was in deinem ersten Post steht.
  8. Autor dieses Themas

    internetplattform

    internetplattform hat kostenlosen Webspace.

  9. die Variable $ocontrolp bleibt bestimmt leer
  10. Autor dieses Themas

    internetplattform

    internetplattform hat kostenlosen Webspace.

    das die variable leer bleibt ist fast unverscheinlich
  11. Und wo wird diese deklariert? Sehe da kein $_GET für
  12. Autor dieses Themas

    internetplattform

    internetplattform hat kostenlosen Webspace.

    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
  13. 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.
  14. schrotti12

    Moderator Kostenloser Webspace von schrotti12

    schrotti12 hat kostenlosen Webspace.

    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
    echo '</html>';
    und nicht
    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
  15. Autor dieses Themas

    internetplattform

    internetplattform hat kostenlosen Webspace.

    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
  16. 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
  17. [...]
    $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???
  18. Autor dieses Themas

    internetplattform

    internetplattform hat kostenlosen Webspace.

    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
  19. 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
  20. Autor dieses Themas

    internetplattform

    internetplattform hat kostenlosen Webspace.

    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;
    ?>
  21. 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);
    
    ?>
  22. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!