kostenloser Webspace werbefrei: lima-city


Frage zu $_Post

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    seth93

    seth93 hat kostenlosen Webspace.

    Hallo,
    ich hab ein Formular:
    <form action="lala.php" method="post">
    Was man da einträgt, wird auf der nächsten Seite, also lala.php angezeigt, so wie ich s haben möchte.
    Aber wenn ich auf blabla, die Werte von lala.php nehme geht das nicht.
    Funktioniert das auch nicht?
    Kann nur lala auf auf die Seite mit dem Formular zugreifen?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Erst mal:

    Dein Post ist grausam zu lesen und zu verstehen.
    Denn lala und blabla sind leicht zu verwechseln.
    Besser wäre Seite 1 und Seite 2 (z.B.)

    Poste doch mal den Code beider Seiten bezüglich des Formulars und der zu verarbeitenden Seite, damit man besser sieht was du genau brauchst.
  4. Autor dieses Themas

    seth93

    seth93 hat kostenlosen Webspace.

    Ok, tut mir leid ^^
    Seite1:
    <form action="seite2.php" method="post">
    Dein Name:<br>
    <input type="text" size="15" maxlength="20"
    name="name"><br><br>
    Dein E-Mail:<br>
    <input type="text" size="15" maxlength="20"
    name="mail"><br><br>
    <input type="submit" value="Abschicken">
    </form>

    Seite2:
    <?php
    $verbindung = mysql_connect("localhost", "seth93" , "*****")
    or die("Verbindung zur Datenbank konnte nicht hergestellt werden");
    
    mysql_select_db("seth93") or die ("Datenbank konnte nicht ausgewählt werden");
    
    $name = $_POST["name"];
    $mail = $_POST["mail"];
    $result = mysql_query("SELECT id FROM test WHERE name LIKE '$name'");
    $menge = mysql_num_rows($result);
    
    if($menge == 0)
        {
        $eintrag = "INSERT INTO test (name, mail) VALUES ('$name', '$mail')";
        $eintragen = mysql_query($eintrag);
    
        if($eintragen == true)
            {
            
            }
    
        }
    ?>

    Ich glaub if und so sind unnötig.
    Ich hab das Script von woanders her und etwas verändert, für meine Zwecke.

    Seite3:
    <?php
    $verbindung = mysql_connect("localhost", "seth93" , "******")
    or die("Verbindung zur Datenbank konnte nicht hergestellt werden");
    
    mysql_select_db("seth93") or die ("Datenbank konnte nicht ausgewählt werden");
    
    $name = $_POST["name"];
    $mail = $_POST["mail"];
    $result = mysql_query("SELECT id FROM test WHERE name LIKE '$name'");
    $menge = mysql_num_rows($result);
    
    if($menge == 0)
        {
        $eintrag = "INSERT INTO test (name, mail) VALUES ('$name', '$mail')";
        $eintragen = mysql_query($eintrag);
    
        if($eintragen == true)
            {
            
            }
    
        }
    
    $nProzent = mt_rand(0, 100);
    echo $name; 
    ?>
    
    <div class="progress"><span style="width: <?echo $nProzent?>%;"><center><?echo $nProzent?>%</center></span></div>
     deien e mail
    <?
    echo $mail;
    ?>




    Beitrag geändert: 1.9.2008 17:22:43 von seth93
  5. ich muss Karpfen mal wieder recht geben!


    <form action="lala.php" method="post">


    hiermit schickst (postest) du deine werte, die in dem <form> attribut stehen doch nur zu lala.php...


    also stimmt das, was du gesagt hast...


    also du hast schon recht. Entweder zum einem oder zum anderen. schau dir mal die $_Get funktion an. Wenn du die daten auch bei seite 3 brauchst übertrag sie doch mit der Get funktion ;)
  6. Aber wenn es dann funktioniert, solltest du lieber noch den Code mit mysql_real_escape_string() gegen SQL-Injection schützen !
  7. Autor dieses Themas

    seth93

    seth93 hat kostenlosen Webspace.

    Einfach mysql_real_escape_string() einfügen?
    Ist egal wo? (Also innerhalb <? und ?>)
    Was ist den SQL_Injection.
    Bei meinem Kontaktformular kann man eh nur max 100 Wörter reinschreiben, dadurch kann man doch keine Befehle machen oder?

    Ok ich schau mir $_GET mal an.
    Muss das zu method="get"> geändert werden?
  8. >> Einfach mysql_real_escape_string() einfügen?

    $name = mysql_real_escape_string($_POST["name"]);

    >> Was ist den SQL_Injection.
    http://de.wikipedia.org/wiki/SQL_Injection ....Suchen hilft, Wikipedia auch ;-)

    >> Ok ich schau mir $_GET mal an.
    >> Muss das zu method="get"> geändert werden?
    Ja.
  9. Autor dieses Themas

    seth93

    seth93 hat kostenlosen Webspace.

    Ok, danke.
    Ich muss nochmal nachfragen, da ich zurzeit wegen der Schule keine Zeit habe.
    Erst am Abend -.-
    Wenn ich $_GET nutze, kann ich das was in die Variablen gespeichert wurde, für mehrere Seiten nutzen?
    Bei $_POST ging das nur für eine weitere Seite.
  10. Du kannst beides weitergeben. Das mit post ist sehr umständlich, da der User immer auf einen Absende-Button kllicken muss, und get ist sehr unsicher, da jeder die Variablen verändern kann.
  11. Autor dieses Themas

    seth93

    seth93 hat kostenlosen Webspace.

    Get mit diesem SQL-Injection schutz müsste doch sicher sein oder kann man da noch weiteres verändern?
    Auch mit Schutz?
  12. Autor dieses Themas

    seth93

    seth93 hat kostenlosen Webspace.

    Ich komm mit $_GET nicht voran.
    Es ist genauso wie bei $_POST
    Also auf Seite1 ist mein Formular.
    <form action="seite2.php" method="get">

    Seite2:
    $name = mysql_real_escape_string($_GET["name"]);
    $name = mysql_real_escape_string($_GET["mail"]);

    Seite3:
    $name = mysql_real_escape_string($_GET["name"]);
    $name = mysql_real_escape_string($_GET["mail"]);

    Auf Seite 2 werden die noch angezeigt, aber auf Seite 3 nicht mehr.
  13. 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!