Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

PHP -> textarea

Pagina: 1
Acties:
  • 1.004 views

  • TheDarkstar
  • Registratie: Mei 2007
  • Laatst online: 26-02-2022
Geachte tweakers,
Ik ben bezig met een script warrmee ik vanuit een textveld in 1 keer verschillende emailadressen kan toevoegen. Hieronder staat het scriptje zover ik deze nu heb:
code:
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
<?
/// script ///
<b>Add email<br>

<form action="add_email_form.php" method="post">
<textarea name="text" cols="75" rows="20"></textarea>
<input type="submit" value="Add email">
<br>
<br>
<br>
</form>
</b>
<?
if(isset($_POST['text']))
{
$email = preg_split('~\r\n?|\n~', $_POST['text'], PREG_SPLIT_NO_EMPTY);

echo $email[0].'<--<br>'; ///test dus

include"conn.php";

$_POST['text'] = strtolower($_POST['text']);

@$check = mysql_result(mysql_query("SELECT email FROM db_mail WHERE email='".$_POST['text']."'"),"");
$check = strtolower($check);

if($check <> $_POST['text'])
{
$now = date("Y")+'1'.':'.date("m:d:G:i:s");
mysql_query("INSERT INTO db_mail (email,validated,date) VALUES ('".$_POST['text']."','1','".$now."')");
echo"Added";
}else{
$now = date("Y")+'1'.':'.date("m:d:G:i:s");
mysql_query("UPDATE db_email SET date='".$now."' WHERE email='".$_POST['text']."'");
echo"Updated";
}

}
/// einde script ///
?>


Het nadeel is echter dat deze alles op 1 regel gooit en de check dus neit uitgevoerd kan worden. Iemand een oplossing hiervoor?

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 17:20

Janoz

Moderator Devschuur®

!litemod

Probeer eersthet probleem maar eens ietsje beter te omschrijven. Ik heb geen idee wat je nu bedoeld. Je hebt het ever een check? Ik zie alleen een variabele, maar wat je daar nu precies aan uitgevoerd wilt hebben en wat je uberhaupt met 'alles op 1 regel gooien' bedoeld is mij helemaal een raadsel.

Ik vermoed dat je 2 scriptjes gevonden hebt. 1 voor het inserten van een email adres en 1 om van een string met enters er in een array te maken, maar je hebt geen idee hoe je die twee dingen in elkaar zou moeten schuiven. Heb ik het dan een beetje bij het rechte eind?

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • rewind.
  • Registratie: Oktober 2001
  • Laatst online: 00:36
gebruik anders explode op een , of ; om meerdere e-mail adressen van elkaar te scheiden, daarna nog wel ff een controle uitvoeren op de adressen.

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 17:42

RM-rf

1 2 3 4 5 7 6 8 9

verder, iets doorlezen over het gevaar van sql-injection zou ook zeker niet gek zijn:

je gebruikt nu zonder enige controle de waarde van $_POST['text'] in je query... zelfs dat je dit opdeelt op basis van newlines in de Array $email is nutteloos, aangezien je die array niet eens verder benut...

Om je probleem verder op te lossen kan het overigens zin hebben om je script eens op te schrijven in 'begrijpelijke taal' die niet zozeer door een script-engine begrepen wordt maar vooral voor een mens leesbaar is en daarna te kijken welke regels PHP-script nu overeenkomen en wàt ze precies doen...

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
TheDarkstar schreef op woensdag 05 maart 2008 @ 09:02:
Geachte tweakers,
Ik ben bezig met een script warrmee ik vanuit een textveld in 1 keer verschillende emailadressen kan toevoegen. Hieronder staat het scriptje zover ik deze nu heb:

*KWAK CODE*

Het nadeel is echter dat deze alles op 1 regel gooit en de check dus neit uitgevoerd kan worden. Iemand een oplossing hiervoor?
Voor dit soort topics hebben we overigens een beleid: scriptrequest.
Het is hier in de Devschuur niet de bedoeling dat je je probleem dumpt en wij het voor je oplossen. Neem eens een kijkje in onze Programming Beleid Quickstart waarin je kunt lezen hoe we hier wél graag topics zien ;)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Dit topic is gesloten.