1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

SELECT wird auf folgeweite nicht ausgegeben

Dieses Thema im Forum "PHP" wurde erstellt von CreativPur, 16. Juli 2017.

  1. CreativPur

    CreativPur Erfahrenes Mitglied

    Hi,
    Ich habe ein Formular, welches ich per method=POST auf eine weitere Seite übergeben möchte..

    PHP:
    1. <form action="email-pruefen.php?bewerbungscode='. $bewerbungscode.'" method="post">
    2. <br />
    3. <input type="submit" value="Weiter" class="btn btn-info btn-sm">
    4. </form>
    Auf der Folgeseite wird echo $_GET['bewerbungscode'] auch erfolgreich ausgegeben..

    PHP:
    1. <?php
    2. include("../system/inc/intern.inc.php");
    3. include("../system/inc/config.inc.php");
    4. include("../system/head.php");
    5.  
    6.  
    7.  
    8. if (isset($_POST['bewerbungscode']))
    9.    {  
    10.  
    11. $bewerbungscode = $_GET['bewerbungscode'];
    12.  
    13. $sql = "SELECT bewerbungscode, zusammenstellung_code, firma_name
    14. FROM
    15. users_email_versenden
    16. WHERE
    17. bewerbungscode =  $bewerbungscode
    18. ";
    19. $user = $pdo->query($sql)->fetch();
    20.      
    21. }
    22.  
    23. echo 'bewerbungscode: ' .$_GET['bewerbungscode']. '<br />';
    24. echo 'zusammenstellung_code: ' .$user['zusammenstellung_code']. '<br />';
    25. echo 'firma_name: ' .$user['firma_name']. '<br />';
    26.  
    27.  
    28. ?>
    Dennoch werden über das SELECT keine Daten ausgegeben.
    Woran liegt dieses ?
     
    Zuletzt bearbeitet: 16. Juli 2017
  2. lockcat

    lockcat Erfahrenes Mitglied

    Hi,

    was gibt var_dump($user); & var_dump(
    $bewerbungscode); aus?

    Den Debugger mal höher geschraubt?

    Gruß
     
    Zuletzt bearbeitet: 16. Juli 2017
  3. CreativPur

    CreativPur Erfahrenes Mitglied

    uppppssss.
    Den Debugger mal höher geschraubt?
    Wie muss ich das verstehen und wie gebe ich den dump aus ??
    Ich arbeite nicht auf dem lokalen Rechner, sondern habe die Seite schon auf dem Server..
     
  4. CreativPur

    CreativPur Erfahrenes Mitglied

    Wenn ich zb. WHERE bewerbungscode = '2v0baqsqms2lswl4y4hvecysvjps1l' eingebe, wie unten im Script, wird alles ausgegeben
    PHP:
    1. <?php
    2. include("../system/inc/intern.inc.php");
    3. include("../system/inc/config.inc.php");
    4. include("../system/head.php");
    5.  
    6.  
    7. $sql = "SELECT bewerbungscode, zusammenstellung_code, firma_name
    8. FROM
    9. users_email_versenden
    10. WHERE
    11. bewerbungscode = '2v0baqsqms2lswl4y4hvecysvjps1l'
    12. ";
    13. $user = $pdo->query($sql)->fetch();      
    14.  
    15. echo 'bewerbungscode: '.$_GET['bewerbungscode'].'<br />';
    16. echo 'zusammenstellung_code: '.$user['zusammenstellung_code'].'<br />';
    17. echo 'firma_name: '.$user['firma_name'].'<br />';
    18.  
    19. ?>
     
  5. lockcat

    lockcat Erfahrenes Mitglied

    PHP Debug = Error_Reporting

    PHP:
    1. <?php
    2.  
    3. ini_set("display_errors", 1);
    4.  
    5. include("../system/inc/intern.inc.php");
    6. include("../system/inc/config.inc.php");
    7. include("../system/head.php");
    8. if (isset($_POST['bewerbungscode']))
    9.    {
    10. $bewerbungscode = $_GET['bewerbungscode'];
    11. $sql = "SELECT bewerbungscode, zusammenstellung_code, firma_name
    12. FROM
    13. users_email_versenden
    14. WHERE
    15. bewerbungscode =  $bewerbungscode
    16. ";
    17. $user = $pdo->query($sql)->fetch();
    18.  
    19. echo "user dump: <br>";
    20. var_dump($user);
    21. echo "bewerbungscode dump: <br>";
    22. var_dump($bewerbungscode);
    23.  
    24.    
    25. }
    26. echo 'bewerbungscode: ' .$_GET['bewerbungscode']. '<br />';
    27. echo 'zusammenstellung_code: ' .$user['zusammenstellung_code']. '<br />';
    28. echo 'firma_name: ' .$user['firma_name']. '<br />';
    29. ?>
     
  6. CreativPur

    CreativPur Erfahrenes Mitglied

    Dann gibt er mir folgendes aus..

    Warning: include(../inc/config.inc.php): failed to open stream: No such file or directory in /mnt/web122/e3/07/58167107/htdocs/Bewerbungsemail.com/start/system/inc/intern.inc.php on line 3 Warning: include(): Failed opening '../inc/config.inc.php' for inclusion (include_path='.:/opt/RZphp56/includes') in /mnt/web122/e3/07/58167107/htdocs/Bewerbungsemail.com/start/system/inc/intern.inc.php on line 3 Notice: A session had already been started - ignoring session_start() in /mnt/web122/e3/07/58167107/htdocs/Bewerbungsemail.com/start/users/email-pruefen.php on line 9 bewerbungscode: 2v0baqsqms2lswl4y4hvecysvjps1l
    Notice: Undefined variable: user in /mnt/web122/e3/07/58167107/htdocs/Bewerbungsemail.com/start/users/email-pruefen.php on line 29 zusammenstellung_code:
    Notice: Undefined variable: user in /mnt/web122/e3/07/58167107/htdocs/Bewerbungsemail.com/start/users/email-pruefen.php on line 30 firma_name:
     
  7. CreativPur

    CreativPur Erfahrenes Mitglied

    Das script für intern.inc.php

    PHP:
    1. <?php
    2. include("../inc/config.inc.php");
    3.  
    4.  
    5. function random_string() {
    6.     if(function_exists('random_bytes')) {
    7.         $bytes = random_bytes(16);
    8.         $str = bin2hex($bytes);
    9.     } else if(function_exists('openssl_random_pseudo_bytes')) {
    10.         $bytes = openssl_random_pseudo_bytes(16);
    11.         $str = bin2hex($bytes);
    12.     } else if(function_exists('mcrypt_create_iv')) {
    13.         $bytes = mcrypt_create_iv(16, MCRYPT_DEV_URANDOM);
    14.         $str = bin2hex($bytes);
    15.     } else {
    16.         //Bitte euer_geheim_string durch einen zufälligen String mit >12 Zeichen austauschen
    17.         $str = md5(uniqid('e7b93a17443456f3d4625a128217710f', true));
    18.     }  
    19.     return $str;
    20. }
    21. //Überprüfe auf den 'Angemeldet bleiben'-Cookie
    22. if(!isset($_SESSION['userid']) && isset($_COOKIE['identifier']) && isset($_COOKIE['securitytoken'])) {
    23.     $identifier = $_COOKIE['identifier'];
    24.     $securitytoken = $_COOKIE['securitytoken'];
    25.    
    26.     $statement = $pdo->prepare("SELECT * FROM securitytokens WHERE identifier = ?");
    27.     $result = $statement->execute(array($identifier));
    28.     $securitytoken_row = $statement->fetch();
    29.    
    30.     if(sha1($securitytoken) !== $securitytoken_row['securitytoken']) {
    31.         die('Ein vermutlich gestohlener Security Token wurde identifiziert');
    32.     } else { //Token war korrekt          
    33.         //Setze neuen Token
    34.         $neuer_securitytoken = random_string();              
    35.         $insert = $pdo->prepare("UPDATE securitytokens SET securitytoken = :securitytoken WHERE identifier = :identifier");
    36.         $insert->execute(array('securitytoken' => sha1($neuer_securitytoken), 'identifier' => $identifier));
    37.         setcookie("identifier",$identifier,time()+(3600*24*365)); //1 Jahr Gültigkeit
    38.         setcookie("securitytoken",$neuer_securitytoken,time()+(3600*24*365)); //1 Jahr Gültigkeit
    39.        
    40.         //Logge den Benutzer ein
    41.         $_SESSION['userid'] = $securitytoken_row['user_id'];
    42.     }
    43. }
    44. if(!isset($_SESSION['userid'])) {
    45.     die('Bitte zuerst <a href="login.php">Einloggen</a>');
    46. }
    47. $userid = $_SESSION['userid'];
    48. // echo "Hallo User: ".$userid;
    49. ?>
     
  8. CreativPur

    CreativPur Erfahrenes Mitglied

    Die userid wird auch im ersten Fall als echo $userid. '<br />'; ausgegeben..
     
  9. lockcat

    lockcat Erfahrenes Mitglied

    Okay. viele Infos aufeinmal :D

    hast du das Formular auch abgesendet? oder einfach nur die Datei aufgerufen? denn die ausgabe vom var_dump() fehlt.

    Zudem empfehle ich dir hier prepare zu nutzen:

    PHP:
    1. $statement = $pdo->prepare("SELECT * FROM users WHERE vorname = :vorname AND nachname = :nachname");
    2. $statement->execute(array(':vorname' => 'Max', ':nachname' => 'Mustermann'));
    3. while($row = $statement->fetch()) {
    4.    echo $row['vorname']." ".$row['nachname']."<br />";
    5.    echo "E-Mail: ".$row['email']."<br /><br />";
    6. }
    in deinem Fall:

    PHP:
    1. $statement = $pdo->prepare("SELECT bewerbungscode, zusammenstellung_code, firma_name FROM users_email_versenden WHERE bewerbungscode = :bewerbungscode");
    2. $statement->execute(array(':bewerbungscode' => $bewerbungscode));
    3. $user = $statement->fetch();
    4.  
    5. // var_dump
    6. echo "<pre>";
    7. var_dump($user);
    8. echo "</pre>";
    9.  
    10. echo 'bewerbungscode: ' .$_GET['bewerbungscode']. '<br />';
    11. echo 'zusammenstellung_code: ' .$user['zusammenstellung_code']. '<br />';
    12. echo 'firma_name: ' .$user['firma_name']. '<br />';
    versuche das mal - ich schreibe das hier grade per Handy daher könnte hier ein fehler sein. Ich schau gleich jedoch nochmal wenn ich am PC sitze.
     
  10. CreativPur

    CreativPur Erfahrenes Mitglied

    Ich denke mal, dass es am prekäre lag..

    Denn jetzt wird alles übergeben uns ausgegeben..

    Super.. Vielen, vielen Dank...
     
Die Seite wird geladen...