problem bei abfrage php 7

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • problem bei abfrage php 7

    Hallo,

    ich versuche gerade meine Projekte auf php 7 umzustellen. soweit hab ich mich reingelesen aber es schleichen sich scheinbar immer noch fehler bei mir ein. nun zu meiner Frage

    PHP Code:
    <?php header("Content-type: text/xml"); echo "<?xml version='1.0' encoding='UTF-8' ?>"?>
    <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel> 
    <?php
    include_once("config.inc.php");
    $db = new PDO('mysql:host=' $dbserver ';dbname=' $dbdata$dbuser$dbpass);
    ?>
        <title><?php echo ("$wstitel");?></title>
        <link><? print ("$wsurl");?></link>
        <description>URL Shortener</description>
        <language>de-de</language>
        <docs><? print ("$wsurl"); ?></docs>
        <generator>Rss Feed Engine</generator>
        <managingEditor><? print ("$wmemail"); ?></managingEditor>
        <webMaster><? print ("$wmemail"); ?></webMaster>
        <atom:link href="<? print ("$wsurl"); ?>/rss.php" rel="self" type="application/rss+xml" />
    <?php 
    $statement 
    $pdo->prepare("SELECT * FROM shortlinks");   
    while(
    $row $statement->fetch()) {
    ?>
    <item>
    <title><![CDATA[<? print ("$wsurl"); ?><?php echo "/u".$row['id']."".$row['kuc']."";?>]]></title>    
    <description><![CDATA[Projects:digmedien.de | scripte-download.com]]></description>
    <link><![CDATA[<?php echo "http://".$wsurl."/u".$row['id']."".$row['kuc']."";?>]]></link>   
    </item>
    <?php
    }
    ?>
    </channel>
    </rss>
    ich kann aber irgendwie die rss.php nicht aufrufen der geht sofort auf die Index zurück. sehe aber im code nicht wirklich einen Fehler vielleicht sehen ein zweites paar Augen mehr.

    die config sieht so aus:

    PHP Code:
    $dbserver "localhost";
    $dbuser "xxx";
    $dbpass "xxx";
    $dbdata "xxx";
    $wstitel "xxx";
    $wssbttl "xxx";
    $wsurl "xxx";
    $wmemail "xxx"
    hoffe es kann jemand weiter helfen DANKE vorab

  • #2
    Wie ist denn dein error_reporting eingestellt?
    Mal im error.log nachgeschaut?

    Gruß
    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Comment


    • #3
      Also im error.log steht garnichts und error_reporting ist auf all eingestellt, bringt mir nur nichts, da sich die datei nicht aufrufen lässt.

      Gruß Mirko

      Comment


      • #4
        Steht im Apache-Log was drin?
        Was steht in der confic.inc.php drin (DB-Daten ausgenommen)?

        Gruß
        Peter

        PS: lass diesen Blödsinn:
        PHP Code:
        <?php echo ("$wstitel");?>
        Schreib einfach:
        PHP Code:
        <?php echo $wstitel;?>
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Comment


        • #5
          Auf den Apache Log hab ich Seitens des Providers keinen Zugriff.

          In der config steht nur das was oben steht mehr nicht.

          Ja für das andere suche ich noch ne Lösung wstitel

          Gruß Mirko

          Comment


          • #6
            Hast du kein lokales System zum Testen? Dann installier dir doch zumindest mal einen XAMPP. Direkt auf dem Server vom Provider zu entwicklen, ist nicht so pralle.

            Gruß
            Peter
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Comment


            • #7
              xampp hab ich drauf müsste ich mal gerade testen und dann melde ich mich nochmal.

              Gruß Mirko

              Comment


              • #8
                Umstellung auf php 7

                Hallo,

                also das vorhergehnde Problem konnte ich lösen. Jetzt hab ich nen anderes
                PHP Code:
                <?php
                $uploadActive 
                'active';
                include(
                'header.php');
                if(!isset(
                $_SESSION['profile2']))
                {
                    
                session_destroy();
                    
                header('location:'.$url.'login');
                    exit();
                }
                if(
                $my_role 1)
                {
                    
                header('location:'.$url);
                    exit();
                }
                $action=$_GET['action']; $id=$_GET['id'];
                if (
                $action=='2') {
                $inhalt=$_POST['inhalt'];
                $inhalt =  ereg_replace("&""&amp;"$inhalt);
                $inhalt str_replace(array("ä","ö","ü","Ä","Ö","Ü","ß"),array("&auml;","&ouml;","&uuml;","&Auml;","&Ouml;","&Uuml;","&szlig;"),$inhalt);
                $sql $bdd->prepare("UPDATE pdd_texte SET pdd_txtcontent = '$inhalt' WHERE pdd_txtid = '$id'");
                $insert_yes $sql->execute(array($mode));
                }

                if (
                $id=='1') { $header="Impressum"; }
                if (
                $id=='2') { $header="Datenschutz"; }
                if (
                $id=='3') { $header="Widerrufsrecht"; }

                $sql $bdd->query("SELECT * FROM pdd_texte WHERE pdd_txtid = '$id'");
                while(
                $row $sql->fetch(PDO::FETCH_ASSOC)) {
                $pdd_txtid $row['pdd_txtid'];
                $pdd_txtcontent $row['pdd_txtcontent'];
                ?>
                <tr><td class="tdcont">Text &auml;ndern - <?php echo $header?></td></tr>
                <tr><td>&nbsp;</td></tr>
                <tr><td>
                <table width=690 border=0 cellpadding=0 cellspacing=0>
                <form action="texte.php?action=2&id=<?php echo $id?>" method="POST">
                <tr><td align=center><textarea name="inhalt" rows="25" cols="46" style="width:560px;"><?php echo $pdd_txtcontent?></textarea></td></tr>
                <tr><td>&nbsp;</td></tr>
                <tr><td align=center><input type="submit" name="update" value="Text &auml;ndern" style="width:560px;" class="bt"></td></tr>
                </form>
                </table>
                </td></tr>
                <?php
                }
                include(
                "footer.php");
                ?>
                Das ist mein Code umgestellt auf php7 er gibt mir keinerlei Fehlermeldung aber gibt auch nichts aus ne Vermutung habe ich
                1.
                PHP Code:
                $sql $bdd->prepare("UPDATE pdd_texte SET pdd_txtcontent = '$inhalt' WHERE pdd_txtid = '$id'"); 
                2.
                PHP Code:
                $sql $bdd->query("SELECT * FROM pdd_texte WHERE pdd_txtid = '$id'"); 
                das Problem ist
                PHP Code:
                '$id' 
                wo liegt da mein Fehler?

                Danke schon mal vorab für Tipps

                Comment


                • #9
                  Umstellung auf php 7 teilweise gelöst

                  So konnte einiges selber lösen und hab derbe abgespeckt an Code.
                  PHP Code:
                  if(isset($_POST['pdd_txtcontent']))
                                      {
                                          
                  $pdd_txtcontent strip_tags(htmlspecialchars($_POST['pdd_txtcontent']));
                  $sql $bdd->prepare('UPDATE pdd_texte SET pdd_txtcontent = '.$pdd_txtcontent.' WHERE pdd_txtid = '.$pdd_txtid.'');
                  $insert_yes $sql->execute(array($pdd_txtcontent));
                  if(
                  $insert_yes)
                                          {
                                              echo 
                  '<div class="alert alert-success" role="alert">gespeichert.</div>';
                                          }
                                      } 
                  PHP Code:
                  <table width=690 border=0 cellpadding=0 cellspacing=0>
                  <form action="texte.php?=<?php echo $pdd_txtid?>" method="POST">
                  <tr><td align=center><textarea name="pdd_txtcontent" rows="25" cols="46" style="width:560px;"><?php echo $pdd_txtcontent?></textarea></td></tr>
                  <tr><td>&nbsp;</td></tr>
                  <tr><td align=center><input type="submit" name="update" value="Text &auml;ndern" style="width:560px;" class="bt"></td></tr>
                  </form>
                  </table>
                  einziges Problem noch obige Update Funktion läuft nicht und ich übersehe was Frage ist WAS?

                  Comment


                  • #10
                    strip_tags() und htmlspecialchars() hat bei Datenbankabfragen nichts verloren.

                    Und du beachtest den Kontextwechsel nach SQL nicht. Werte sollten nicht direkt in SQL-Code eingefügt werden. Beschäftige dich mal damit, wie Prepared Statements funktionieren.

                    Das Zeug mit ereg_replace() und str_replace() ist auch für die Tonne.

                    Und es gibt keinen Grund Umlaute zu verst&uuml;mmeln.

                    Comment


                    • #11
                      Umstellung auf php 7 teilweise gelöst

                      Originally posted by h3ll View Post
                      strip_tags() und htmlspecialchars() hat bei Datenbankabfragen nichts verloren.

                      Und du beachtest den Kontextwechsel nach SQL nicht. Werte sollten nicht direkt in SQL-Code eingefügt werden. Beschäftige dich mal damit, wie Prepared Statements funktionieren.

                      Das Zeug mit ereg_replace() und str_replace() ist auch für die Tonne.

                      Und es gibt keinen Grund Umlaute zu verst&uuml;mmeln.
                      Das Zeugs hab ich alles schon raus genommen der neue Code sieht jetzt komplett so aus:

                      PHP Code:
                      <?php 
                      ini_set
                      ('display_errors'1);
                      error_reporting(E_ALL);
                      $uploadActive 'active';
                      include(
                      'header.php');
                      if(!isset(
                      $_SESSION['profile2']))
                      {
                          
                      session_destroy();
                          
                      header('location:'.$url.'login');
                          exit();
                      }
                      if(
                      $my_role 1)
                      {
                          
                      header('location:'.$url);
                          exit();
                      }
                      $pdd_txtcontent = ($_POST['pdd_txtcontent']);
                      $sql_insert $bdd->prepare('INSERT INTO pdd_texte (pdd_txtcontent) VALUES (?)');
                                      
                      $insert_ok $sql_insert->execute(array($pdd_txtcontent));
                                      if(
                      $insert_ok)
                                              {
                                                  echo 
                      '<div class="alert alert-success" role="alert">gespeichert.</div>';
                                              }
                      $sql $bdd->query('SELECT * FROM pdd_texte WHERE pdd_txtid');
                      while(
                      $row $sql->fetch(PDO::FETCH_ASSOC)) {
                      $pdd_txtid $row['pdd_txtid'];
                      $pdd_txtcontent $row['pdd_txtcontent'];
                      if (
                      $pdd_txtid == 1){ $header='Impressum'; }
                      if (
                      $pdd_txtid == 2){ $header='Datenschutz'; }
                      if (
                      $pdd_txtid == 3){ $header='Widerrufsrecht'; }
                      ?>
                      <tr><td class="tdcont">Text &auml;ndern - <?php echo $header?></td></tr>
                      <tr><td>&nbsp;</td></tr>
                      <tr><td>
                      <table width=690 border=0 cellpadding=0 cellspacing=0>
                      <form action="texte.php?=<?php echo $pdd_txtid?>" method="POST">
                      <tr><td align=center><textarea name="pdd_txtcontent" rows="25" cols="46" style="width:560px;"><?php echo $pdd_txtcontent?></textarea></td></tr>
                      <tr><td>&nbsp;</td></tr>
                      <tr><td align=center><input type="submit" name="update" value="Text &auml;ndern" style="width:560px;" class="bt"></td></tr>
                      </form>
                      </table>
                      </td></tr>
                      <?php
                      }
                      include(
                      "footer.php");
                      ?>
                      Mein Problem ist ja das die id für den Eintrag schon gegben ist und er soll ja nur die angegebene Spalte durch neuen Text ersetzen.
                      Ich vermute ja das diese das Problem ist

                      PHP Code:
                      <form action="texte.php?=<?php echo $pdd_txtid?>" method="POST">
                      Fehlermeldung ist entsprechend Notice: Undefined index: pdd_txtcontent in /home/webpages/lima-city/phppower/default-website/texte.php on line 17

                      und bezieht sich auf
                      PHP Code:
                      $pdd_txtcontent = ($_POST['pdd_txtcontent']); 
                      aber meines erachtens müßte das richtig sein

                      oder ich stehe hier völlig auf dem Schlauch

                      Comment


                      • #12
                        Das $_POST-Array ist nur befüllt, wenn das Formular abgeschickt wurde.

                        Comment


                        • #13
                          Umstellung auf php 7 teilweise gelöst

                          Originally posted by h3ll View Post
                          Das $_POST-Array ist nur befüllt, wenn das Formular abgeschickt wurde.
                          mir ist selber grad noch ein Fehler aufgefallen. Nach dem obigen Code legt er einen neuen Datensatz an und das soll ja garnicht.

                          es müsste so eigentlich aussehen und damit wäre die Fehlermeldung schon mal weg
                          PHP Code:
                          <?php 
                          ini_set
                          ('display_errors'1);
                          error_reporting(E_ALL);
                          $uploadActive 'active';
                          include(
                          'header.php');
                          if(!isset(
                          $_SESSION['profile2']))
                          {
                              
                          session_destroy();
                              
                          header('location:'.$url.'login');
                              exit();
                          }
                          if(
                          $my_role 1)
                          {
                              
                          header('location:'.$url);
                              exit();
                          }
                          if(isset(
                          $_POST['pdd_txtcontent']))
                                              {
                                                  
                          $pdd_txtcontent = ($_POST['pdd_txtcontent']);
                                                  
                          $sql $bdd->prepare('UPDATE pdd_texte SET pdd_txtcontent = ?');
                                                  
                          $insert_yes $sql->execute(array($pdd_txtcontent));
                                                  if(
                          $insert_yes)
                                                  {
                                                      echo 
                          '<div class="alert alert-success" role="alert">gespeichert.</div>';
                                                  }
                                              }

                          $sql $bdd->query('SELECT * FROM pdd_texte WHERE pdd_txtid');
                          while(
                          $row $sql->fetch(PDO::FETCH_ASSOC)) {
                          $pdd_txtid $row['pdd_txtid'];
                          $pdd_txtcontent $row['pdd_txtcontent'];
                          if (
                          $pdd_txtid == 1){ $header='Impressum'; }
                          if (
                          $pdd_txtid == 2){ $header='Datenschutz'; }
                          if (
                          $pdd_txtid == 3){ $header='Widerrufsrecht'; }
                          ?>
                          <tr><td class="tdcont">Text &auml;ndern - <?php echo $header?></td></tr>
                          <tr><td>&nbsp;</td></tr>
                          <tr><td>
                          <table width=690 border=0 cellpadding=0 cellspacing=0>
                          <form action="<?php echo $_SERVER['PHP_SELF']?>?=<?php echo $pdd_txtid?>" method="POST">
                          <tr><td align=center><textarea name="pdd_content" rows="25" cols="46" style="width:560px;"><?php echo $pdd_txtcontent?></textarea></td></tr>
                          <tr><td>&nbsp;</td></tr>
                          <tr><td align=center><input type="submit" name="update" value="Text &auml;ndern" style="width:560px;" class="bt"></td></tr>
                          </form>
                          </table>
                          </td></tr>
                          <?php
                          }
                          include(
                          "footer.php");
                          ?>
                          das mit dem action hab ich mal so geändert:
                          PHP Code:
                          <form action="<?php echo $_SERVER['PHP_SELF']?>?=<?php echo $pdd_txtid?>" method="POST">
                          aber es zeigt nicht die Wirkung er speichert nicht das Update

                          die Datenbank sieht so aus:
                          PHP Code:
                          CREATE TABLE IF NOT EXISTS `pdd_texte` (
                            `
                          pdd_txtidint(10unsigned NOT NULL auto_increment,
                            `
                          pdd_txtcontentlongtext collate utf8_unicode_ci NOT NULL,
                            
                          PRIMARY KEY  (`pdd_txtid`)
                          ); 
                          die txtid ist fest vorgegeben und soll immer die gleiche bleiben. Nur der txtconent so geupdatet werden.
                          Was mache ich da falsch?

                          Comment


                          • #14
                            Umstellung auf php 7 gelöst

                            Originally posted by h3ll View Post
                            Das $_POST-Array ist nur befüllt, wenn das Formular abgeschickt wurde.

                            Danke, konnte es mit deiner Hilfe nun doch lösen.

                            Comment

                            Working...
                            X