SELECT wird auf folgeweite nicht ausgegeben

CreativPur

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

PHP:
<form action="email-pruefen.php?bewerbungscode='. $bewerbungscode.'" method="post">
<br />
<input type="submit" value="Weiter" class="btn btn-info btn-sm">
</form>

Auf der Folgeseite wird echo $_GET['bewerbungscode'] auch erfolgreich ausgegeben..

PHP:
<?php
include("../system/inc/intern.inc.php");
include("../system/inc/config.inc.php");
include("../system/head.php");

session_start();


if (isset($_POST['bewerbungscode']))
   {   
  
$bewerbungscode = $_GET['bewerbungscode'];

$sql = "SELECT bewerbungscode, zusammenstellung_code, firma_name
FROM
users_email_versenden
WHERE
bewerbungscode =  $bewerbungscode
";
$user = $pdo->query($sql)->fetch();
     
}

echo 'bewerbungscode: ' .$_GET['bewerbungscode']. '<br />';
echo 'zusammenstellung_code: ' .$user['zusammenstellung_code']. '<br />';
echo 'firma_name: ' .$user['firma_name']. '<br />';


?>

Dennoch werden über das SELECT keine Daten ausgegeben.
Woran liegt dieses ?
 
Zuletzt bearbeitet:
Hi,

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

Den Debugger mal höher geschraubt?

Gruß
 
Zuletzt bearbeitet:
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..
 
Wenn ich zb. WHERE bewerbungscode = '2v0baqsqms2lswl4y4hvecysvjps1l' eingebe, wie unten im Script, wird alles ausgegeben
PHP:
<?php
include("../system/inc/intern.inc.php");
include("../system/inc/config.inc.php");
include("../system/head.php");

session_start();

$sql = "SELECT bewerbungscode, zusammenstellung_code, firma_name
FROM
users_email_versenden
WHERE
bewerbungscode = '2v0baqsqms2lswl4y4hvecysvjps1l'
";
$user = $pdo->query($sql)->fetch();       

echo 'bewerbungscode: '.$_GET['bewerbungscode'].'<br />';
echo 'zusammenstellung_code: '.$user['zusammenstellung_code'].'<br />';
echo 'firma_name: '.$user['firma_name'].'<br />';

?>
 
PHP Debug = Error_Reporting

PHP:
<?php

error_reporting(E_ALL);
ini_set("display_errors", 1);

include("../system/inc/intern.inc.php");
include("../system/inc/config.inc.php");
include("../system/head.php");
session_start();
if (isset($_POST['bewerbungscode']))
   {
$bewerbungscode = $_GET['bewerbungscode'];
$sql = "SELECT bewerbungscode, zusammenstellung_code, firma_name
FROM
users_email_versenden
WHERE
bewerbungscode =  $bewerbungscode
";
$user = $pdo->query($sql)->fetch();

echo "user dump: <br>";
var_dump($user);
echo "bewerbungscode dump: <br>";
var_dump($bewerbungscode);

   
}
echo 'bewerbungscode: ' .$_GET['bewerbungscode']. '<br />';
echo 'zusammenstellung_code: ' .$user['zusammenstellung_code']. '<br />';
echo 'firma_name: ' .$user['firma_name']. '<br />';
?>
 
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:
 
Das script für intern.inc.php

PHP:
<?php
session_start();
include("../inc/config.inc.php");


function random_string() {
    if(function_exists('random_bytes')) {
        $bytes = random_bytes(16);
        $str = bin2hex($bytes);
    } else if(function_exists('openssl_random_pseudo_bytes')) {
        $bytes = openssl_random_pseudo_bytes(16);
        $str = bin2hex($bytes);
    } else if(function_exists('mcrypt_create_iv')) {
        $bytes = mcrypt_create_iv(16, MCRYPT_DEV_URANDOM);
        $str = bin2hex($bytes);
    } else {
        //Bitte euer_geheim_string durch einen zufälligen String mit >12 Zeichen austauschen
        $str = md5(uniqid('e7b93a17443456f3d4625a128217710f', true));
    }   
    return $str;
}
//Überprüfe auf den 'Angemeldet bleiben'-Cookie
if(!isset($_SESSION['userid']) && isset($_COOKIE['identifier']) && isset($_COOKIE['securitytoken'])) {
    $identifier = $_COOKIE['identifier'];
    $securitytoken = $_COOKIE['securitytoken'];
   
    $statement = $pdo->prepare("SELECT * FROM securitytokens WHERE identifier = ?");
    $result = $statement->execute(array($identifier));
    $securitytoken_row = $statement->fetch();
   
    if(sha1($securitytoken) !== $securitytoken_row['securitytoken']) {
        die('Ein vermutlich gestohlener Security Token wurde identifiziert');
    } else { //Token war korrekt           
        //Setze neuen Token
        $neuer_securitytoken = random_string();               
        $insert = $pdo->prepare("UPDATE securitytokens SET securitytoken = :securitytoken WHERE identifier = :identifier");
        $insert->execute(array('securitytoken' => sha1($neuer_securitytoken), 'identifier' => $identifier));
        setcookie("identifier",$identifier,time()+(3600*24*365)); //1 Jahr Gültigkeit
        setcookie("securitytoken",$neuer_securitytoken,time()+(3600*24*365)); //1 Jahr Gültigkeit
       
        //Logge den Benutzer ein
        $_SESSION['userid'] = $securitytoken_row['user_id'];
    }
}
if(!isset($_SESSION['userid'])) {
    die('Bitte zuerst <a href="login.php">Einloggen</a>');
}
$userid = $_SESSION['userid'];
// echo "Hallo User: ".$userid;
?>
 
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:
$statement = $pdo->prepare("SELECT * FROM users WHERE vorname = :vorname AND nachname = :nachname");
$statement->execute(array(':vorname' => 'Max', ':nachname' => 'Mustermann')); 
while($row = $statement->fetch()) {
   echo $row['vorname']." ".$row['nachname']."<br />";
   echo "E-Mail: ".$row['email']."<br /><br />";
}

in deinem Fall:

PHP:
$statement = $pdo->prepare("SELECT bewerbungscode, zusammenstellung_code, firma_name FROM users_email_versenden WHERE bewerbungscode = :bewerbungscode");
$statement->execute(array(':bewerbungscode' => $bewerbungscode)); 
$user = $statement->fetch();

// var_dump
echo "<pre>";
var_dump($user);
echo "</pre>";

echo 'bewerbungscode: ' .$_GET['bewerbungscode']. '<br />';
echo 'zusammenstellung_code: ' .$user['zusammenstellung_code']. '<br />';
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.
 
Ich denke mal, dass es am prekäre lag..

Denn jetzt wird alles übergeben uns ausgegeben..

Super.. Vielen, vielen Dank...
 

Neue Beiträge

Zurück