Gegen Bilderklau - Das Original (https://www.gegen-bilderklau.net/index.php)
- Design, Website, Copyright (https://www.gegen-bilderklau.net/board.php?boardid=80)
--- Homepagehilfe (https://www.gegen-bilderklau.net/board.php?boardid=27)
---- Homepagehilfe - Archiv (https://www.gegen-bilderklau.net/board.php?boardid=139)
----- [PHP & MySQL] Problem mit Java Script und PHP (https://www.gegen-bilderklau.net/thread.php?threadid=96456)


Geschrieben von .smartness am 03.02.2007 um 11:27:

  Problem mit Java Script und PHP

Morgen allerseits,
ich habe ein Formular nach Vronis Tut gecodet. Dies klappt auch alles richtig gut allerdings möchte ich das sich die Fehlermeldung, wenn man nicht alle Felder ausgefüllt hat, im Pop Up öffnet. Also habe ich mir einen Pop Up Generator mit Java Script zur Hand genommen und das dann versucht zu verbinden (mithilfe von Back Katrin). Aber da dies nun mit etlichen versuchen nicht geklappt hat weiß weder ich noch sie einen Rat.

Das ist der Code:

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:

<?php
$name $_POST['name'];
$email $_POST['email'];
$hofname $_POST['hofname'];
$hofadresse $_POST['hofadresse'];
$bannerurl $_POST['bannerurl'];
$beschreibung $_POST['beschreibung'];
if ( ($name == "") OR ($email == "") OR ($hofadresse == "") OR ($bannerurl
== "") OR ($beschreibung == "") )
{
echo"<head>
<script language="JavaScript">
<!--
//PopUp-Generator von http://www.dauerstress.de
function Fehlermeldung()
{
var breite=280;
var hoehe=300;
var positionX=((screen.availWidth / 2) - breite / 2);
var positionY=((screen.availHeight / 2) - hoehe / 2);
var url='http://sitschju.si.funpic.de/Partnerfehler.htm';
pop=window.open('','','toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=0,fullscreen=0,width='+breite+',height='+hoehe+',top=0,left=0');
pop.resizeTo(breite,hoehe); pop.moveTo(positionX,positionY);
pop.location=url; }//-><script></head><body onLoad='Fehlermeldung()'>";
}
else
{
$text "Name: $Name
eMail: $email
Hofname: $hofname
Hofadresse: $hofadresse
BannerURL: $bannerurl
Beschreibung: $beschreibung";
mail("RV.Sitschju@web.de",Partneranfrage,$text,"Partneranfrage von
$hofname/$name");
echo "<i>Deine Partneranfrage wurde erfolgreich abgeschickt!<br>Ich
werde sie so schnell wie m&ouml;glich bearbeiten und dir
antworten.</i><br><a href='javascript:%20history.back(-2)'
target='_self'>_back</a>";
}
?>


Danke schonmal!



Geschrieben von .smartness am 08.02.2007 um 16:24:

 

Ich brauch es ürbigens immer noch..
Also wer weiß etwas darüber?



Geschrieben von .smartness am 09.02.2007 um 17:02:

 

...



Geschrieben von .smartness am 19.02.2007 um 11:58:

 

...



Geschrieben von theroorback am 19.02.2007 um 12:52:

 

...

(ich hoff, ich darf mitmachen)



Geschrieben von miss_trinity am 19.02.2007 um 13:47:

 

Was ist den das für ein Mix-Max aus JS UND PHP??
Mach doch einfach ein Javascript und ruf dann beim klicken auf den Button (submit-Formular-button) die Javascript funktion auf, die dir die Felder prüft..
geht am einfachsten und funktioniert wunderbar Augenzwinkern

Edit: die Funktion gibt true zurück falls alles richtig ist, ansonsten false, und ruft gibt dann den fehler in einem popup oder text beim formular aus.



Geschrieben von .smartness am 19.02.2007 um 14:29:

 

äh ahh ^^
hast du dafür eventuell einen Code? smile



Geschrieben von miss_trinity am 19.02.2007 um 14:44:

 

Javascript für in den Header der html-Seite:

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
<script language="JavaScript1.2">
function checkForm() {

    res true;
    
    reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+    //Name
                  '(\\@)'+                       //@-Zeichen
                  '([a-zA-Z0-9\\-\\.]+)'+        //Domain
                  '(\\.)'+                       //Punkt
                  '([a-zA-Z]{2,4})$');           //TLD
    
    //alle felder von der Adresse pr&#65533;fen...
    if (document.adress.name.value == "") {
        res false;
    }
    if(reg.test(document.adress.email.value) == false){
        res false;
    }
        //noch die restlichen formularfelder abfragen
        
    if(res == false){
        alert('Bitte füllen Sie das Formular vollständig aus!\n (Eine gültige Email-Adresse angeben, sowie die Bedingungen aktzeptieren)');
    }
    return res;
}

</script>


Code vom Formular, siehe den Button unten mit dem CheckForm()

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:

<form action=..... method="post" name="adress"> 
                <table cellpadding="3" cellspacing="0" border="0" width="100%">
                 <tr>
                      <td>Name: </td>
                        <td colspan="2"><input name="name" type="text"  value="<?php echo $_SESSION['address']['name']; ?>" size="50"></td>
                      </tr>
                 
             <!-- alle Felder vom Formular -->

                 <tr>
                 <td align="left">
                     <input type="submit" value="Zur&uuml;ck" name="back">
                 </td>
                 <td>
                       <input type="reset" value="Eingaben l&ouml;schen" name="reset">
                   </td>    
                   <td align="right">
                       <input name="adress" type="submit" value="Weiter" onclick="javascript: return checkForm()">
                   </td>
                   </tr>
                <tr>
                  <td colspan="4" class="schrift10">Es m&uuml;ssen alle Felder ausgef&uuml;llt werden. </td>
                </tr>
                
            </table>
            
            
            
            
            </form> 



Geschrieben von .smartness am 19.02.2007 um 14:55:

 

Herzlichen Dank smile
Bins gerade am ausprobieren...

<form action=..... method="post" name="adress">

Was muss bei die Punkte?



Geschrieben von miss_trinity am 19.02.2007 um 14:57:

 

Das was du brauchst.. das Formular müsstest du aber schon haben? Ich ruf einfach nochmal die gleiche page ab zum verarbeiten vom formular.. weiss aber nicht wie du es machst

php:
1:
<form action="<?php echo $_SERVER["PHP_SELF"] . "?summary=yes"?>" method="post" name="adress"> 



Geschrieben von .smartness am 19.02.2007 um 15:02:

 

*grübel*

Ich hab das so:

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
<form action="action_formular.php" method="post">
<table width="80%" border="1">
 <tr>
   <td class="tadunkel" colspan="2" height="25"><b>Formular</b></td>
 </tr>
 <tr>
   <td class="tahell" width="50%"><b>Name</b></td>
   <td class="tahell" width="50%"><input type="text" name="name" style='width: 225;'></td>
 </tr>
 <tr>
   <td class="tahell" width="50%"><b>eMail</b></td>
   <td class="tahell" width="50%"><input type="text" name="email" value="@" style='width: 225;'></td>
 </tr>
 <tr>
   <td class="tahell" width="50%"><b>Hofname</b></td>
   <td class="tahell" width="50%"><input type="text" name="hofname" style='width: 225;'></td>
 </tr>
 <tr>
   <td class="tahell" width="50%"><b>Hofadresse</b></td>
   <td class="tahell" width="50%"><input type="text" name="hofadresse" value="http://" style='width: 225;'></td>
 </tr>
 <tr>
   <td class="tahell" width="50%"><b>Banner URL</b></td>
   <td class="tahell" width="50%"><input type="text" name="bannerurl" style='width: 225;'></td>
 </tr>
 <tr>
   <td class="tahell" width="50%"><b>Beschreibung des Hofes</b></td>
   <td class="tahell" width="50%"><textarea name="beschreibung" style='width: 225;'></textarea></td>
 </tr>
<tr>
 <td colspan="2" class="tahell"><input type="submit" value="Anfragen" onclick="javascript: return checkForm()" style='width: 225; text-align: center;'>
</tr>
</table>
</form>


^^ *ist noch ein totaler Anfänger in PHP*



Geschrieben von miss_trinity am 19.02.2007 um 15:10:

 

sieht gut aus. Jetzt musst du einfach noch das Javascript anpassen und es sollte funktionieren!

Edit: gib dem Formular noch einen Namen, dann kannst du im JS danach abfragen



Geschrieben von .smartness am 19.02.2007 um 15:11:

 

Was genau muss ich denn da anpassen?

[Und was muss dann überhaupt noch in action_formular.php?]

Dankeschön smile



Geschrieben von miss_trinity am 19.02.2007 um 15:18:

 

dort wo ich geschrieben habe:
//noch die restlichen formularfelder abfragen

musst du jetzt noch all deine formularfelder einfügen (und die ersten beiden anpassen natürlich)

also:

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
...
if (document.adress.name.value == "") {
        res false;
    }
    if(reg.test(document.adress.email.value) == false){
        res false;
    }
if (document.adress.hofname.value == "") {
        res false;
    }
if (document.adress.hofadresse.value == "") {
        res false;
    }
if (document.adress.bannerurl.value == "") {
        res false;
    }
if (document.adress.beschreibung.value == "") {
        res false;
    }
....


in action_formular.php kommst du erst wenn das Formular richtig ausgefüllt wurde. Dort kommt jetzt rein was du mit den Daten machen willst..



Geschrieben von .smartness am 19.02.2007 um 15:22:

 

Hab ich auch gerade herausgefunden ^^
Allerdings hätte ich es falsch geschrieben von daher gut das du es noch Mal gezeigt hast, danke smile

Ich seh schon son Formular ist ganz schön schwierig..
Kannst du mir eventuell noch zeigen was in action_formular.php muss, bitte? smile

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:

<?php
$name $_POST['name'];
$email $_POST['email'];
$hofname $_POST['hofname'];
$hofadresse $_POST['hofadresse'];
$bannerurl $_POST['bannerurl'];
$beschreibung $_POST['beschreibung'];
if ( ($name == "") OR ($email == "") OR ($hofadresse == "") OR ($bannerurl
== "") OR ($beschreibung == "") )
{
echo"<i>Du hast nicht alle Felder ausgef&uuml;llt! Gehe zur&uuml;ck und korrigiere dies!</i><br><a href='javascript:%20history.back(-2)'
target='_self'>_back</a>";
}
else
{
$text "Name: $Name
eMail: $email
Hofname: $hofname
Hofadresse: $hofadresse
BannerURL: $bannerurl
Beschreibung: $beschreibung";
mail("RV.Sitschju@web.de",Partneranfrage,$text,"Partneranfrage von
$hofname/$name");
echo "<i>Deine Partneranfrage wurde erfolgreich abgeschickt!<br>Ich
werde sie so schnell wie m&ouml;glich bearbeiten und dir
antworten.</i><br><a href='javascript:%20history.back(-2)'
target='_self'>_back</a>";
}
?>


Das wäre im Moment noch drinne, wobei ich einen Teil davon ja garnicht mehr brauche da es ja schon im Java Script drinne ist?



Geschrieben von miss_trinity am 19.02.2007 um 15:26:

 

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:

<?php
$name $_POST['name'];
$email $_POST['email'];
$hofname $_POST['hofname'];
$hofadresse $_POST['hofadresse'];
$bannerurl $_POST['bannerurl'];
$beschreibung $_POST['beschreibung'];


$text "Name: $Name
eMail: $email
Hofname: $hofname
Hofadresse: $hofadresse
BannerURL: $bannerurl
Beschreibung: $beschreibung";
mail("RV.Sitschju@web.de",Partneranfrage,$text,"Partneranfrage von
$hofname/$name");
echo "<i>Deine Partneranfrage wurde erfolgreich abgeschickt!<br>Ich
werde sie so schnell wie m&ouml;glich bearbeiten und dir
antworten.</i><br><a href='javascript:%20history.back(-2)'
target='_self'>_back</a>";

?>



das müsste reichen, weil du ja die Formularabfrage schon in der Formular-page drin hast smile



Geschrieben von .smartness am 19.02.2007 um 15:31:

 

Das ist klasse smile
Funktioniert alles perfekt smile

Weißt du auch wie man das macht das sich de 'Erfolgreichabgesendet'-Text mit dem ganzen Div Lay drumherum öffnet? smile

Weil im Moment kommt nur eine normale Seite (war aber vorher auch schon..)

Wenn nicht dann ist es aber auch nicht schlimm.. hast mir eh schon so viel geholfen smile

Danke nochmal fröhlich



Geschrieben von miss_trinity am 19.02.2007 um 15:45:

 

Lies dich ein in CSS smile Damit kannst du schöne Sachen machen. Gibt viele Tuts und bsp. im Netz, einfach mal google fragen smile



Geschrieben von .smartness am 19.02.2007 um 15:50:

 

Ich mach eig fast alles mit Css aber danke, werde ich machen smile



Geschrieben von miss_trinity am 19.02.2007 um 15:53:

 

Ja dann sollte es ja kein Problem sein Augenzwinkern oder ich versteh nicht was du meinst..


Forensoftware: Burning Board, entwickelt von WoltLab GmbH