tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
10
ZUGRIFFE
673
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von peshay
    peshay peshay ist offline Mitglied Bronze
    Registriert seit
    Jul 2002
    Beiträge
    37
    hi,
    seitdem ich auf Apache2 (SuSE 9.0) geupdate habe werden die variablen einer HTML, mit method="POST" nicht mehr übergeben. Weiss vieleicht einer woran das liegen könnte? Mit GET geht das übrigens auch nicht und ich hab schon alle .conf dateien durchkramt.
     

  2. #2
    Registriert seit
    Dec 2001
    Beiträge
    4.791
    Bist du sicher, dass sie gar nicht mehr übergeben werden ? Oder hast du z.B. evtl. nur in PHP vergessen, auf die superglobalen Arrays $_POST und $_GET zurückzugreifen ?

    Gib mal ein wenig mehr Input, was für Anwendungen in welchen Sprachen geschrieben du nutzt und wie du auf die Idee kommst, dass die Variablen gar nicht mehr übergeben werden
     

  3. #3
    Avatar von peshay
    peshay peshay ist offline Mitglied Bronze
    Registriert seit
    Jul 2002
    Beiträge
    37
    ich bin mir ziemlich sicher das es am Apache liegt, da es auf einem anderen server mit apache 1.3.x funktioniert.
    die Variablen werden in ein HTML-Formular eingetragen und beim klicken des buttons an eine php seite weiter gegeben, durch POST.
    nur trägt das php-script dann nichts in die mysql datenbank ein, weil eben die Variablen fehlen..
    wie ich darauf gekommen bin? weiss ich nich genau, darauf zu kommen hat mir n freund geholfen, indem ich irgendwelche php-befehle ins script eingebaut hab.. sowas wie HTTP_POST_Vars oder so ähnlich, auf jedenfall wurden variablen leer angezeigt und auf einem anderen apache server funktionierts.
     

  4. #4
    Registriert seit
    Dec 2001
    Beiträge
    4.791
    Dann lass mich mal raten. Du setzt als Variablen, die in deine MySQL DB geschrieben werden sollen, Variablen ein, die ungefährt so aussehen

    $NameDesFormularelements

    ?

    Wenn ja, das ist falsch und du musst $_POST['NameDesFormularelements'] nutzen. Und das hat, wenn es so ist, nichts mit dem Apache zu tun, sondern eher mit einem (ich schätze mal gleichzeitig erfolgten) PHP-Update.
     

  5. #5
    Avatar von peshay
    peshay peshay ist offline Mitglied Bronze
    Registriert seit
    Jul 2002
    Beiträge
    37
    jo, in meiner html hab ich die variablen gemacht mit z.B. "name="Mitarbeiter"" und "value="1""
    und im php-script heisst die variable dann $Mitarbeiter
    also müsste ich praktisch überall wo $Mitarbeiter steht, stattdessen "$_POST['Mitarbeiter']" eintragen?
    aber das gilt jetzt nur für alle POST-Variablen, oder?
    Geändert von peshay (04.11.03 um 11:16 Uhr)
     

  6. #6
    Avatar von peshay
    peshay peshay ist offline Mitglied Bronze
    Registriert seit
    Jul 2002
    Beiträge
    37
    ich hab die zwar jetzt alle umbenannt, funktioniert aber trotzdem noch nicht, hier mal das script:

    <?php
    include("./mysql_connectinfo.inc.php");
    // Verbindung zur Datenbank herstellen
    $link = @mysql_pconnect($mysqlhost, $mysqluser, $mysqlpasswd);
    if ($link == FALSE)
    {
    echo "<p><b>Leider kann keine Verbindung zur Datenbank hergestellt werden.
    Daher können die Eregebnisse zurzeit nicht angezeigt werden.
    Bitte versuchen Sie es später noch einmal.
    </body></html>\n";
    exit();
    }
    mysql_select_db($mysqldbname);

    // falls Formulardaten zur Verfügung stehen:
    // auswerten + speichern
    if($_POST[submitbutton]=="Eintragen")
    {
    $result = mysql_query(
    "INSERT INTO JobTimeDate
    (MitarbeiterID, FirmaID, Job, Time, Date)
    VALUES ($_POST[Mitarbeiter], $_POST[Firma], $_POST['Job'], $_POST['Time'], $_POST['Date'])");
    }

    // Fehlermeldung
    if(!$result)
    {
    echo "<P><b><font color=red>Es ist folgender Fehler aufgetreten: ", mysql_errno(),
    ": " . htmlentities(mysql_error()), ".\n </font></b>";
    }
    else
    {
    $result == NULL;
    $result = mysql_query("SELECT Mitarbeiter, Firma, Job, Time, Date
    FROM JobTimeDate, Firma, Mitarbeiter
    WHERE JobTimeDate.FirmaID IN ($_POST[Firma])
    AND JobTimeDate.MitarbeiterID = Mitarbeiter.MitarbeiterID
    AND JobTimeDate.FirmaID = Firma.FirmaID
    AND JobTimeDate.Date = $_POST['Date']
    ORDER BY Date, Firma, Mitarbeiter");
    echo "<b>Sie haben folgende werte eingegeben:</b>";
    echo "<table border=1><th>Mitarbeiter</th><th>Firma</th><th>Tätigkeit</th>
    <th>Zeit</th><th>Datum</th><tr>";
    for ($zeile = 0; $zeile <= mysql_num_rows($result) -1; $zeile++)
    {
    echo "<tr>";
    for ($spalte = 0; $spalte <= 4; $spalte++)
    {
    echo "<td>" . mysql_result($result, $zeile, $spalte);
    }
    }
    }
    ?>
    bei der Fehlermeldung im Code sagt er übrigens immer Fehler 0.
     

  7. #7
    Registriert seit
    Dec 2001
    Beiträge
    4.791
    $result = mysql_query(
    "INSERT INTO JobTimeDate
    (MitarbeiterID, FirmaID, Job, Time, Date)
    VALUES ($_POST[Mitarbeiter], $_POST[Firma], $_POST['Job'], $_POST['Time'], $_POST['Date'])");
    Das machst du am besten in zwei Schritten und mit etwas mehr " und '
    PHP-Code:
    $query "INSERT INTO JobTimeDate (MitarbeiterID, FirmaID, Job, Time, Date) VALUES ('".$_POST['Mitarbeiter']."','".$_POST['Firma']."','".$_POST['Job']."','".$_POST['Time']."','".$_POST['Date']."'";
    $result mysql_query($query); 
    Sieht zwar wüst aus, sollte aber die besten Chancen geben, dass es geht.

    PS: um zu kontrollieren ob wirklich Daten ankommen, kannst du mal folgenden Code in der Seite einsetzen, die das in die DB eintragen soll.
    PHP-Code:
    foreach($_REQUEST as $k => $v) {
      echo 
    '$_REQUEST['.$k.'] = '.$v.'<br />\n';

     

  8. #8
    Avatar von peshay
    peshay peshay ist offline Mitglied Bronze
    Registriert seit
    Jul 2002
    Beiträge
    37
    hab das ganze jetzt gena so dastehn:

    // falls Formulardaten zur Verfügung stehen:
    // auswerten + speichern
    if($_POST[submitbutton]=="Eintragen")
    {
    $query = "INSERT INTO JobTimeDate (MitarbeiterID, FirmaID, Job, Time, Date)
    VALUES ('".$_POST['Mitarbeiter']."','".$_POST['Firma']."','".$_POST['Job']."',
    '".$_POST['Time']."','".$_POST['Date']."'";
    $result = mysql_query($query);
    }
    hab des zum überprüfen der variablen gleich darunter geschrieben und er zeigt nichts an,
    und es geht immer noch nicht
    Geändert von peshay (04.11.03 um 11:48 Uhr)
     

  9. #9
    Registriert seit
    Dec 2001
    Beiträge
    4.791
    Ok wenn er wirklich nix anzeigt, dann liegt das Problem tatsächlich nich bei PHP
    (da hätte es aber bei deinem Code potentiell auch liegen können) sondern, wahrscheinlich
    beim Server. Da bin ich jetzt überfragt woran das liegen könnte

    Sorry, dass ich dich mit dem Problem erstmal in die falsche Richtung gedrängt habe,
    war nicht meine Absicht.
     

  10. #10
    Avatar von peshay
    peshay peshay ist offline Mitglied Bronze
    Registriert seit
    Jul 2002
    Beiträge
    37
    kein problem, war immerhin ein aspekt den ich nicht beachtet hätte.. also das es auch an einer neueren PHP-version hätte liegen können..
    aber vieleicht meldet sich noch ein anderer der mir weiterhelfen kann
     

  11. #11
    Avatar von peshay
    peshay peshay ist offline Mitglied Bronze
    Registriert seit
    Jul 2002
    Beiträge
    37
    hab das problem endlich gelöst
    in der php.ini muss register_globals auf On sein
    standard einstellung aus sicherheitsgründen is in den neuen versionen auf Off
    trotzdem vielen dank für die schnelle hilfe
     

Ähnliche Themen

  1. method=POST?
    Von Napofis im Forum PHP
    Antworten: 17
    Letzter Beitrag: 03.07.07, 10:40
  2. method=POST mit aller Macht
    Von Mike Rofon im Forum Javascript & Ajax
    Antworten: 7
    Letzter Beitrag: 13.06.07, 02:17
  3. form method post und get
    Von Flo[H] im Forum PHP
    Antworten: 1
    Letzter Beitrag: 27.11.02, 18:00
  4. Formular mit mit method post
    Von bruderherz im Forum HTML & XHTML
    Antworten: 7
    Letzter Beitrag: 01.09.02, 20:14
  5. Probleme mit Method=Post
    Von FeX im Forum PHP
    Antworten: 4
    Letzter Beitrag: 02.07.02, 23:10